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

Как делают я делаю a:

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

состояние?

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

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

62
задан 29 March 2012 в 17:50

10 ответов

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

if variable != "":
    etc.

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

if variable:
    etc.

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

119
ответ дан 31 October 2019 в 13:25

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

import random
variable = random.choice(l)
if variable:
    # got a non-empty string
else:
    # got an empty string
17
ответ дан 31 October 2019 в 13:25

Пустые строки являются Ложью по умолчанию:

>>> if not "":
...     print("empty")
...
empty
13
ответ дан 31 October 2019 в 13:25

Просто скажите 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
8
ответ дан 31 October 2019 в 13:25
element = random.choice(myList)
if element:
    # element contains text
else:
    # element is empty ''
4
ответ дан 31 October 2019 в 13:25

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

>>> bool(None)
False
>>> bool("")
False
>>> bool("a")
True
>>> bool("ab")
True
>>> bool("9")
True
3
ответ дан 31 October 2019 в 13:25

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

, Возможно, самый прямой путь:

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

Примечание, что if not ... тестирование решений противоположный условие.

2
ответ дан 31 October 2019 в 13:25

Некоторое время у нас есть больше пробелов промежуточные кавычки, затем используют этот подход

a = "   "
>>> bool(a)
True
>>> bool(a.strip())
False

if not a.strip():
    print("String is empty")
else:
    print("String is not empty")
2
ответ дан 31 October 2019 в 13:25

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

len(variable) != 0

из него не делает

len(variable) == 0

0
ответ дан 31 October 2019 в 13:25
string = "TEST"
try:
  if str(string):
     print "good string"
except NameError:
     print "bad string"
0
ответ дан 31 October 2019 в 13:25

Другие вопросы по тегам:

Похожие вопросы: