Давайте рассмотрим различные способы проверки того, пуста строка или нет.
Способ 1. Использование len()
Использование len()
является наиболее распространенным методом проверки строки нулевой длины. Хотя он игнорирует тот факт, что строка, состоящая только из пробелов, также должна считаться практически пустой строкой, даже если она не равна нулю.
# демо-код Python3
# проверьте, пуста ли строка
# используя len()
# строка инициализации
test_str1
=
""
test_str2
=
" "
# проверьте, строка пуста
print
(
"The строка нулевой длины без пробелов пуста?: "
, end
=
" ")
<класс кода = "keyword"> if (
len
(test_str1)
=
=
0
):
print
(
" Yes "
)
else
:
print
(
"Нет"
)
# печатает нет
print
(
"Строка нулевой длины, состоящая только из пробелов, пуста?: "
, конец
=
" ")
if
(
len
(test_str2)
=
=
0
):
print
(
" Yes "
)
else
:
print
(
"Нет"
)
Вывод:
Строка нулевой длины без пробелов пуста?: Да Строка нулевой длины с одними пробелами пуста?: Нет
Способ № 2: Использование not
Инструкция not
также может выполнять задачу, аналогичную len()
, и проверять строку. ng длины 0, но, как и выше, предполагается, что строка, содержащая только пробелы, также непуста, что практически не должно быть правдой.
# демонстрационный код Python3
# проверьте, пуста ли строка
# не используйте
# строка инициализации
test_str1
=
" "
test_str2
=
" "
# проверка, e Если строка пуста
print
(
"Строка нулевой длины без пробелов пустой?: "
, end
=
" ")
если
(
not
test_str1):
print
(
"Да "
)
else
:
print
(
"Нет"
)
# без печати
print
(
"Строка нулевой длины, состоящая только из пробелов, пуста?:"
, конец
=
"")
если
(
not
test_str 2):
print
(
"Да "
)
else
:
print
(
"No"
)
Вывод:
Строка нулевой длины без пробелов пуста?: Да Строка нулевой длины с пробелами пуста?: Нет
Способ № 3: Использование not
+ str.strip()
Проблема с пустой строкой + нулевой длиной может быть устранена с помощью strip()
, strip()
возвращает true, если встречает пробелы, поэтому проверка на это может решить проблему с проверкой чисто пустой строки.
Выход:
Строка нулевой длины без пробелов пуста?: Да Строка нулевой длины с пробелами пуста?: Да
Способ № 4: Использование не
+ str.isspace
Работает аналогично предыдущему метод и проверяет наличие пробелов в строке. Этот метод более эффективен, потому что strip()
требует операции полосы, которая в противном случае берет на себя вычислительную нагрузку. пробелы — это хорошее число.
# демонстрационный код Python 3
# проверка если строка пустая
# использование not + isspace()
# инициализирующая строка
test_str1
=
""
test_str2
=
" "
# проверьте, пуста ли строка
print
(
"Строка нулевой длины без пробелов пуста?: "
, end
=
" ")
if
(
not
(test_str1
и
not
test_str1. isspace ( ))):
print
(
"Да"
)
else
:
print
(
"Нет"
)
# печатает yes
print
(
"Строка нулевой длины, состоящая только из пробелов, пуста?: "
, конец
=
" ")
(
not
(test_str2
and
not
test_str2.isspace ())):
print
(
"Да"
)
else
:
print
(
" Нет "
)
Вывод:
Строка нулевой длины без пробелов пуста?: Да Строка нулевой длины с пробелами пуста?: Да