如何在一行中做出这个声明?if x is not None: if x > 0: pass如果我只用“和”写,如果没有,它会显示异常if x is not None and x > 0: pass
3 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
您还可以使用 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
>>>
HUX布斯
TA贡献1876条经验 获得超6个赞
Python 没有特定的函数来测试是否定义了变量,因为所有变量都应该在使用之前已经定义,即使最初分配了 None 对象。尝试访问以前未定义的变量会引发 NameError 异常(您可以使用 try/except 语句处理该异常,就像处理任何其他 Python 异常一样)。
try: x
except NameError: some_fallback_operation( )
else: some_operation(x)
添加回答
举报
0/150
提交
取消