Программа Python для проверки, пуста ли строка или нет

| | | | | | | | | | | | | |

Давайте рассмотрим различные способы проверки того, пуста строка или нет.

Способ 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, если встречает пробелы, поэтому проверка на это может решить проблему с проверкой чисто пустой строки.


# демонстрационный код Python3
# проверьте, пуста ли строка
# использование not + strip()


# инициализация строки

test_str1 = ""

test_str2 = " "


# проверьте, пуста ли строка

print ( "Строка нулевой длины без пробелов пуста?: " , end = " ")

if ( not (test_str1 и test_str1.strip ())):

print ( "Yes" )

else :

print ( " Нет " )


# печатает yes

print ( " Строка нулевой длины, состоящая только из пробелов, пуста?: " , end = "")

если ( не (test_str2 и test_str2.strip ())):

print ( "Yes" )

else :

print ( " Нет " )

Выход:

Строка нулевой длины без пробелов пуста?: Да Строка нулевой длины с пробелами пуста?: Да 

Способ № 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 ( "Строка нулевой длины, состоящая только из пробелов, пуста?: " , конец = " ")

if ( not (test_str2 and not test_str2.isspace ())):

print ( "Да" )

else :

print ( " Нет " )

Вывод:

Строка нулевой длины без пробелов пуста?: Да Строка нулевой длины с пробелами пуста?: Да