如何使这一陈述成行?
if x is not None:
if x > 0:
pass
如果我只写'and',则如果没有则显示异常
if x is not None and x > 0:
pass
答案 0 :(得分:1)
您还可以使用python三元运算符。在您的示例中,这可能会对您有所帮助。您也可以将其进一步扩展。
#if X is None, do nothing
>>> x = ''
>>> x if x and x>0 else None
#if x is not None, print it
>>> x = 1
>>> x if x and x>0 else None
1
处理字符串值
>>> x = 'hello'
>>> x if x and len(x)>0 else None
'hello'
>>> x = ''
>>> x if x and len(x)>0 else None
>>>
答案 1 :(得分:1)
Python没有特定的功能来测试是否定义了变量,因为所有变量都应在使用前进行定义,即使最初分配了None对象也是如此。尝试访问以前未定义的变量会引发NameError异常(可以使用try / except语句来处理,就像处理其他任何Python异常一样)。
try: x
except NameError: some_fallback_operation( )
else: some_operation(x)
答案 2 :(得分:0)
一些代码,例如:
if x and x > 0:
pass