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

if myString == string.empty:

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


当前回答

我曾经写过类似于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

其他回答

测试空字符串或空白字符串(更短的方式):

if myString.strip():
    print("it's not an empty or blank string")
else:
    print("it's an empty or blank string")

我会在剥离之前测试无。此外,我将使用空字符串为False(或Falsy)的事实。这种方法类似于Apache的StringUtils.isBlank或Guava的Strings.isNullOrEmpty

这是我用来测试字符串是否为None或Empty或Blank的方法:

def isBlank (myString):
    return not (myString and myString.strip())

如果字符串不是None NOR Empty NOR Blank,则与测试正好相反:

def isNotBlank (myString):
    return bool(myString and myString.strip())

if-stringname:当字符串为空时,返回false。我想再简单不过了。

我曾经写过类似于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

如果要检查字符串是否完全为空

if not mystring

因为空字符串为false但如果字符串仅为空白,则为真,因此您可能希望

if not mystring.strip()