어떻게 만드나요 :
if str(variable) == [contains text]:
질환?
(또는 내가 방금 쓴 내용이 완전히 잘못되었다고 확신하기 때문에)
random.choice
내 목록의 a가 ["",]
(비어 있음) 또는 포함되어 있는지 확인하려고합니다 ["text",]
.
어떻게 만드나요 :
if str(variable) == [contains text]:
질환?
(또는 내가 방금 쓴 내용이 완전히 잘못되었다고 확신하기 때문에)
random.choice
내 목록의 a가 ["",]
(비어 있음) 또는 포함되어 있는지 확인하려고합니다 ["text",]
.
답변:
문자열을 빈 문자열과 비교할 수 있습니다.
if variable != "":
etc.
그러나 다음과 같이 축약 할 수 있습니다.
if variable:
etc.
설명 :은 if
실제로 사용자가 제공 한 논리식 True
또는 False
. 논리 테스트 대신 변수 이름 (또는 "hello"와 같은 리터럴 문자열)을 사용하는 경우 규칙은 다음과 같습니다. 빈 문자열은 False로 계산하고 다른 모든 문자열은 True로 계산합니다. 빈 목록과 숫자 0도 거짓으로 간주되며 다른 대부분은 참으로 간주됩니다.
== True
워크래프트 편집기에서도 그 부분을 생략 할 수 있을 것 같습니다.
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
''
는로 평가 False
되므로 True
언제 s
가 빈 문자열인지 얻으려면 if not s
.
파이썬 3의 경우 bool ()을 사용할 수 있습니다.
>>> bool(None)
False
>>> bool("")
False
>>> bool("a")
True
>>> bool("ab")
True
>>> bool("9")
True
bool(0)
반환False
bool(0)
반환 False
은 나를 위해 기대할 수 있습니다. 왜 안 되는가?
언젠가 따옴표 사이에 더 많은 공백이 있으면이 방법을 사용합니다.
a = " "
>>> bool(a)
True
>>> bool(a.strip())
False
if not a.strip():
print("String is empty")
else:
print("String is not empty")
string = "TEST"
try:
if str(string):
print "good string"
except NameError:
print "bad string"
if str(variable) == "my text":
입니까?