Основные приемы работы с пустыми строками в Python
Пустая строка в Python: создание и проверка
Как создать пустую строку в Python?
Пустая строка это строка, не содержащая ни одного символа. В Python она создается с помощью пары кавычек без символов между ними: "" или ''. Это единственный способ представить пустую строку. Никакого специального escape-символа для пустой строки не существует.
empty_string = ""
print(repr(empty_string))Python strip (метод strip в python)
''
Python повторить строку (повторение строки в python)
Как проверить, является ли строка пустой?
Самый простой и идиоматичный способ использовать оператор not. Пустая строка в логическом контексте эквивалентна False.
s = ""
if not s:
print("Строка пуста")
Tuple в str python (преобразование кортежа в строку в python)
Строка пуста
Python объект в строку (преобразование объекта в строку в python)
Важно
Если переменная может быть None, то проверка if not s также вернет True для None. В таких случаях лучше сначала проверить на None, либо использовать явное сравнение s == "".
def is_empty(s):
if s is None:
return False
return len(s) == 0Python convert string (преобразование строк в python)
Как проверить пустую строку с помощью len()?
Функция len() возвращает количество символов. Если длина равна нулю, строка пуста. Цель использования: когда нужно точное количество символов или при необходимости обработки только непустых строк.
s = ""
if len(s) == 0:
print("Строка пуста")Python str to bytes (преобразование строки в байты в python)
Строка пуста
функция разделить python (разделение строки на список в python)
При использовании len() необходимо, чтобы объект был строкой. Для None вызов len() вызовет ошибку TypeError. Поэтому перед вызовом нужна проверка на None.
Как сравнить строку с пустой строкой напрямую?
Использование оператора == с литералом "". Цель: когда важно различать пустую строку и другие ложные значения, особенно в сочетании с неизвестным типом.
s = ""
if s == "":
print("Строка пуста")вывести первый символ строки python (вывести первый символ строки в python)
Строка пуста
вывести символ строки python (вывод символа строки в python)
Однако если s может содержать пробелы, то s == "" вернет False, даже если строка визуально кажется пустой. В таких случаях нужен другой подход.
Как проверить, что строка пуста или состоит только из пробелов?
Метод strip() удаляет начальные и конечные пробельные символы. Если после удаления длина равна нулю, строка считается пустой (или пробельной). Цель: при обработке пользовательского ввода, где пробелы могут быть лишними.
s = " "
if not s.strip():
print("Строка пуста или состоит из пробелов")вывести длину строки python (вывести длину строки в python)
Строка пуста или состоит из пробелов
вывести элемент строки python (вывод конкретного символа строки по индексу в python)
Примечание
Метод strip() не изменяет исходную строку, а возвращает новую. Исходная строка остается без изменений.
Как использовать метод isspace() для проверки, что строка состоит только из пробелов?
Метод isspace() возвращает True, если все символы строки являются пробельными. Если строка пуста, isspace() вернет False, поэтому для пустой строки его применять нельзя. Цель: когда нужно удостовериться, что строка содержит исключительно пробельные символы (но не пустая).
s = " "
if s and s.isspace():
print("Строка состоит только из пробелов")задания на строки python (задания на строки в python)
Строка состоит только из пробелов
Расширенные примеры работы с пустыми строками
Ниже приведены дополнительные примеры, демонстрирующие различные случаи использования пустой строки в Python.
Пример 1: Инициализация и конкатенация в цикле
result = ""
for i in range(5):
result += str(i)
print(result)
01234
Пустая строка используется как начальное значение для накопления символов.
Пример 2: Фильтрация пустых строк из списка
strings = ["hello", "", "world", " ", "python"]
non_empty = list(filter(None, strings))
print(non_empty)
['hello', 'world', ' ', 'python']
filter(None, ...) удаляет элементы, которые в логическом контексте False. Строка из пробела " " осталась, так как она не пустая. Чтобы удалить и пробельные строки, используйте filter(lambda x: x.strip() != '', strings).
Пример 3: Пустая строка как разделитель в join()
parts = ["a", "b", "c"]
delimiter = ""
result = delimiter.join(parts)
print(repr(result))
'abc'
При пустом разделителе join() просто соединяет строки без разделителя.
Пример 4: Чтение файла с пропуском пустых строк
data = "строка1\n\nстрока2\n\n\nстрока3"
lines = data.splitlines()
non_empty_lines = [line for line in lines if line]
print(non_empty_lines)
['строка1', 'строка2', 'строка3']
Генератор списка отфильтровывает строки нулевой длины.
Пример 5: Сравнение с None и другими ложными значениями
values = [None, "", "text", 0]
for v in values:
if v is None:
print(f"{v!r} is None")
elif v == "":
print(f"{v!r} is empty string")
elif not v:
print(f"{v!r} is falsy")
else:
print(f"{v!r} is truthy")
None is None '' is empty string 'text' is truthy 0 is falsy
Важно различать None и пустую строку в условных конструкциях.
Пример 6: Пустая строка в f-строке с условием
name = ""
greeting = f"Hello, {name if name else 'Guest'}!"
print(greeting)
Hello, Guest!
Если name пусто, подставляется запасное значение.
Пример 7: Регулярное выражение для поиска пустой строки
import re
pattern = r'^$'
test_string = ""
if re.search(pattern, test_string):
print("Строка пуста")
else:
print("Строка не пуста")
Строка пуста
Шаблон ^$ соответствует строке нулевой длины.
Пример 8: Пустая строка в словаре
d = {"key": ""}
if d["key"] == "":
d["key"] = "default"
print(d)
{'key': 'default'}
Проверка и замена пустого значения.
Пример 9: Пустая строка как значение по умолчанию аргумента функции
def process(value=""):
if value == "":
print("Используется значение по умолчанию")
else:
print(f"Обрабатывается: {value}")
process()
process("data")
Используется значение по умолчанию Обрабатывается: data
Позволяет вызывать функцию без аргументов, обрабатывая пустую строку особым образом.
Пример 10: Строка, содержащая только символ новой строки
line = "\n"
if line.strip() == "":
print("Строка пуста после удаления пробелов")
else:
print("Строка непуста")
Строка пуста после удаления пробелов
Метод strip() удаляет и символы перевода строки, поэтому строка из одного \n считается пустой.