Python是否有类似空字符串变量的功能,您可以在其中执行以下操作:

if myString == string.empty:

无论如何,检查空字符串值最优雅的方法是什么?我发现每次检查空字符串的硬编码“”都不太好。


当前回答

a = ''
b = '   '
a.isspace() -> False
b.isspace() -> True

其他回答

a = ''
b = '   '
a.isspace() -> False
b.isspace() -> True

我曾经写过类似于Bartek的答案和javascript的灵感:

def is_not_blank(s):
    return bool(s and not s.isspace())

测试:

print is_not_blank("")    # False
print is_not_blank("   ") # False
print is_not_blank("ok")  # True
print is_not_blank(None)  # False
not str(myString)

对于空字符串,此表达式为True。非空字符串、None和非字符串对象都将产生False,但需要注意的是,对象可能会重写__str__,通过返回一个falsy值来阻止此逻辑。

您可能会看到Python中的“分配空值或字符串”

这是关于比较空字符串的。因此,你可以测试你的字符串是否等于空字符串,而不是用not测试空字符串。。。

空字符串是“falsy”(python 2或python 3引用),这意味着它们在布尔上下文中被视为false,因此您可以这样做:

if not myString:

如果知道变量是字符串,这是首选方法。如果变量也可以是其他类型,则应使用:

if myString == "":

有关布尔上下文中为假的其他值,请参阅真值测试文档。