最优雅的方法来检查在Python中的字符串是否为空?

Python是否有类似空字符串变量的地方?

if myString == string.empty:

无论检查空字符串值的最优雅方式是什么? 我发现硬编码""每次检查一个空字符串都不好。


空字符串是“虚假”,这意味着它们在布尔上下文中被认为是错误的,所以你可以这样做:

if not myString:

如果你知道你的变量是一个字符串,这是首选的方法。 如果你的变量也可以是其他类型,那么你应该使用myString == "" 。 有关在布尔上下文中为false的其他值,请参阅关于Truth Value Testing的文档。


从PEP 8,在“编程建议”部分:

对于序列(字符串,列表,元组),请使用空序列为假的事实。

所以你应该使用:

if not some_string:

要么:

if some_string:

仅仅为了澄清,如果序列在空或不空时,则在布尔上下文中评估FalseTrue 。 它们不等于 FalseTrue


最优雅的方式可能是简单地检查它的真实性或者错误性,例如:

if not my_string:

但是,您可能需要去掉空白区域,因为:

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

但是,您应该更清楚一点,除非您确定该字符串已通过某种验证并且是可以按此方式进行测试的字符串。

链接地址: http://www.djcxy.com/p/3301.html

上一篇: Most elegant way to check if the string is empty in Python?

下一篇: How do I tokenize a string in C++?