Подтвердить что ты не робот

Как проверить, является ли str (переменная) пустым или нет?

Как мне сделать:

if str(variable) == [contains text]:

состояние?

(или что-то, потому что я уверен, что то, что я только что написал, совершенно неверно)

Я пытаюсь проверить, есть ли random.choice из моего списка ["",] (пусто) или содержит ["text",].

4b9b3361

Ответ 1

Вы можете просто сравнить свою строку с пустой строкой:

if variable == "":
    etc.

Но вы можете сократить это следующим образом:

if variable:
    etc.

Объяснение: if фактически работает, вычисляя значение для логического выражения, которое вы ему даете: True или False. Если вы просто используете имя переменной (или литеральную строку типа "привет" ) вместо логического теста, это правило: пустая строка считается False, все остальные строки считаются True. Пустые списки и число ноль также считаются ложными, и большинство других вещей считаются истинными.

Ответ 2

По умолчанию пустые строки False:

>>> if not "":
...     print("empty")
...
empty

Ответ 3

"Pythonic" способ проверить, является ли строка пустой:

variable = random.choice(l)
if variable:
    # got a non-empty string
else:
    # got an empty string

Ответ 4

Просто скажите if s или if not s. Как и в

s = ''
if not s:
    print 'not', s

Итак, в вашем конкретном примере, если я правильно его понимаю...

>>> import random
>>> l = ['', 'foo', '', 'bar']
>>> def default_str(l):
...     s = random.choice(l)
...     if not s:
...         print 'default'
...     else:
...         print s
... 
>>> default_str(l)
default
>>> default_str(l)
default
>>> default_str(l)
bar
>>> default_str(l)
default

Ответ 5

element = random.choice(myList)
if element:
    # element contains text
else:
    # element is empty ''

Ответ 6

Как сделать условие: if str(variable) == [contains text]:?

Возможно, самый прямой способ:

if str(variable) != '':
  # ...

Обратите внимание, что решения if not ... проверяют противоположное условие.

Ответ 7

если переменная содержит текст, то:

len(variable) != 0

этого не делает

len(variable) == 0

Ответ 8

Для python 3 вы можете использовать bool()

>>> bool(None)
False
>>> bool("")
False
>>> bool("a")
True
>>> bool("ab")
True
>>> bool("9")
True