在检查非 y 变量时,三元很容易使用。
>>> x = None
>>> y = 2 if x else 3
>>> y
3
如果我想在返回之前检查是否存在三元等价物:
def foobar(x):
if x:
return x*x
else:
print 'x is None-y'
有没有类似的东西:
def foobar(x):
return x*x if x else print 'x is None-y'
最佳答案
使用print
作为函数,从Python2中的__future__
导入:
>>> from __future__ import print_function
>>> def foobar(x):
return x*x if x else print ('x is None-y')
...
>>> foobar(0)
x is None-y
>>> foobar(2)
4
另一种选择是使用sys.stdout
:
>>> import sys
>>> def foobar(x):
return x*x if x else sys.stdout.write('x is None-y\n')
...
>>> foobar(0)
x is None-y
>>> foobar(2)
4
关于python - 三元可以与 python 中的 return 和 print 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21078421/