Как делают я делаю a:
if str(variable) == [contains text]:
состояние?
(или что-то, потому что я вполне уверен, что то, что я просто записал, абсолютно неправильно),
Я - вид попытки проверить если a random.choice
из моего списка ["",]
(пробел) или содержит ["text",]
.
Вы могли просто сравнить свою строку с пустой строкой:
if variable != "":
etc.
, Но можно сократить это следующим образом:
if variable:
etc.
Объяснение: if
на самом деле работы путем вычислений значения для логического выражения Вы даете его: True
или False
. При простом использовании имени переменной (или литеральная строка как "привет") вместо логического теста правило: пустая строка рассчитывает как Ложь, все другое строковое количество как Верное. Пустые списки и нуль числа также рассчитывают как ложь и большинство других вещей количество как верное.
Способ "Pythonic" проверить, пуста ли строка:
import random
variable = random.choice(l)
if variable:
# got a non-empty string
else:
# got an empty string
Пустые строки являются Ложью по умолчанию:
>>> if not "":
... print("empty")
...
empty
Просто скажите 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
element = random.choice(myList)
if element:
# element contains text
else:
# element is empty ''
Для python 3 можно использовать bool ()
>>> bool(None)
False
>>> bool("")
False
>>> bool("a")
True
>>> bool("ab")
True
>>> bool("9")
True
, Как, я делаю:
if str(variable) == [contains text]:
условие?
, Возможно, самый прямой путь:
if str(variable) != '':
# ...
Примечание, что if not ...
тестирование решений противоположный условие.
Некоторое время у нас есть больше пробелов промежуточные кавычки, затем используют этот подход
a = " "
>>> bool(a)
True
>>> bool(a.strip())
False
if not a.strip():
print("String is empty")
else:
print("String is not empty")
если переменная содержит текст затем:
len(variable) != 0
из него не делает
len(variable) == 0
string = "TEST"
try:
if str(string):
print "good string"
except NameError:
print "bad string"