Python是否有类似空字符串变量的功能,您可以在其中执行以下操作:
if myString == string.empty:
无论如何,检查空字符串值最优雅的方法是什么?我发现每次检查空字符串的硬编码“”都不太好。
Python是否有类似空字符串变量的功能,您可以在其中执行以下操作:
if myString == string.empty:
无论如何,检查空字符串值最优雅的方法是什么?我发现每次检查空字符串的硬编码“”都不太好。
当前回答
如果您不完全确定您的输入是否真的是字符串,我建议您另外使用isinstance(object,classinfo)链接,如示例所示。
如果不是,列表或True布尔值也可以计算为True。
<script type=“text/javascript”src=“//cdn.datacamp.com/dcl react.js.gz”></script><div data datacamp练习数据lang=“python”><code data type=“样本代码”>定义测试字符串(my_string):如果isinstance(my_string,str)和my_string:print(“这是我,字符串!->”+my_String)其他:print(“不,不,字符串”)def not_fully_test_string(my_string):如果my_string:print(“这是我,String???->”+str(my_String))其他:print(“不,不,字符串”)print(“测试字符串:”)test_string(“”)test_string(真)测试字符串([“string1”,“string2”])test_string(“我的字符串”)test_string(“”)print(“\n是否测试字符串?”)not_fully_test_string(“”)not_fully_test_string(真)not_fully_test_string([“string1”,“string2”])not_fully_test_string(“我的字符串”)not_fully_test_string(“”)</code></div>
其他回答
正如prmatta在上面发布的,但有错误。
def isNoneOrEmptyOrBlankString (myString):
if myString:
if not myString.strip():
return True
else:
return False
return False
对于那些期望类似apacheStringUtils.isBlank或Guava Strings.isNullOrEmpty的行为的人:
if mystring and mystring.strip():
print "not blank string"
else:
print "blank string"
最清晰的方法是:
if s == "":
优点:
向编程器提供应为什么类型的附加指示。“”不是“硬编码”,它是一个神奇的值,比x==0更大。有些值是基本的,不需要命名常量;例如,x%2以检查偶数。不能错误地指示任何错误值(例如[])为空字符串。
考虑如何检查整数是否为0:
if x == 0:
人们当然不应该这样做:
if not x:
整数和字符串都是基元值类型。为什么要区别对待他们?
我会在剥离之前测试无。此外,我将使用空字符串为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())
a = ''
b = ' '
a.isspace() -> False
b.isspace() -> True