【发布时间】:2013-09-11 08:18:33
【问题描述】:
if var is not None and var !="" and var !=" ":
# todo
我可以这样写吗?:
if var:
# todo
var 只是 String 类型。
【问题讨论】:
-
@aug 不是因为 OP 也希望空格也算作空字符串。
标签: python
if var is not None and var !="" and var !=" ":
# todo
我可以这样写吗?:
if var:
# todo
var 只是 String 类型。
【问题讨论】:
标签: python
如果你想过滤掉只有空格的字符串(" "):
if var and var.strip():
# ...
因为如果用作谓词,包含空格的字符串将被评估为 True:
>>> bool("")
False
>>> bool(" ")
True
【讨论】:
if var.strip(): 是等价的。
var 可能是None,则不会。
' ' 是only 应该被认为是假的空白字符串,而' ' * 2 或'\t' 应该被认为是真的,如代码中的问题,那么答案就不同了:-)