如何检查字符串是否为空?

2024-04-25 09:24:26 发布

您现在位置:Python中文网/ 问答频道 /正文

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

if myString == string.empty:

不管怎样,检查空字符串值最优雅的方法是什么?每次检查空字符串时,我都发现硬编码不太好。


Tags: 方法字符串编码stringifemptymystring
3条回答

PEP 8,在“Programming Recommendations” section

For sequences, (strings, lists, tuples), use the fact that empty sequences are false.

所以你应该使用:

if not some_string:

或:

if some_string:

为了澄清这一点,如果序列是空的或不是空的,则在布尔上下文中对其求值到FalseTrue。它们不等于FalseTrue

最优雅的方法可能是简单地检查它是真是假,例如:

if not my_string:

但是,您可能需要删除空白,因为:

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

不过,在这方面您可能应该更明确一点,除非您确定该字符串已通过某种验证,并且是可以通过这种方式测试的字符串。

空字符串是"falsy",这意味着它们在布尔上下文中被视为false,因此您可以这样做:

if not myString:

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

相关问题 更多 >