python单行返回值if availab if not返回None
假设我有一个变量python单行返回值if availab if not返回None,python,Python,假设我有一个变量name=“Jack”。我可以这样检查 if name: return name else: name = None return name 是否有任何方法可以在一行中处理它,如: new\u name=name如果不返回none 它只返回变量值(如果可用),如果不可用,则应返回NoneYes return name if name else None 它的工作原理是: >>> def test_name(name): ...
name=“Jack”
。我可以这样检查
if name:
return name
else:
name = None
return name
是否有任何方法可以在一行中处理它,如:
new\u name=name如果不返回none
它只返回变量值(如果可用),如果不可用,则应返回None
Yes
return name if name else None
它的工作原理是:
>>> def test_name(name):
... return name if name else None
...
>>> print test_name("")
None
>>> print test_name("Jack")
Jack
对
它的工作原理是:
>>> def test_name(name):
... return name if name else None
...
>>> print test_name("")
None
>>> print test_name("Jack")
Jack
是的,您可以在一行中完成,如我的评论所示:
return name if name else None
或者更简单一些(如Martijn所指出的):
是的,您可以在一行中完成,如我的评论所示:
return name if name else None
或者更简单一些(如Martijn所指出的):
为什么不
如果name-else-None返回name
?确保在Python2.x(从Python2.5开始)和Python3.x中都可以。请参见此处:。对于Python 2.5之前的版本,可以采取变通办法。在这种特定情况下,返回name或None
也可以,因为对于name的任何错误值,您都希望返回None
。如果您想在返回前将名称
指定给None
,如果它是None
,您可以分两行操作:1<代码>名称=名称或无2返回名称
您根本不需要该否则
在那里。如果没有显式的返回
,它将已经返回
值None
。如果name-else-None,为什么不返回name?确保在Python2.x(启动Python2.5)和Python3.x中都可以。请参见此处:。对于Python 2.5之前的版本,可以采取变通办法。在这种特定情况下,返回name或None
也可以,因为对于name的任何错误值,您都希望返回None
。如果您想在返回前将名称
指定给None
,如果它是None
,您可以分两行操作:1<代码>名称=名称或无
2返回名称
您根本不需要该否则
在那里。如果没有显式的返回
,它将已经返回
值无
。我希望它在变量中是新的\u name=name,如果name-else-None
@aryan,那么您的示例将有效是的。。。我没有打印,所以没有看到值我希望它是变量new\u name=name如果name else None
@aryan您的示例将有效是的,有效。。。我没有打印,所以没有看到它的价值