2016-05-19 6 views
0

変数があるといいますかname = "Jack"です。私はこのpython 1行返り値返されない場合はavailabなし

if name: 
    return name 
else: 
    name = None 
    return name 

のようにそれを確認することができますように1行でそれを処理するために、どのような方法があります:利用可能でなければ、それはNone

+4

なぜ名前を返さない場合は他の名前はありませんか? – Ian

+1

Python 2.x(Python 2.5を起動)とPython 3.xの両方で可能です。こちらをご覧ください:http://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator Python 2.5より前の回避策が可能です。 –

+1

*この特定のケースでは、名前の偽の値に対して 'None'を返すので、' return name or None'も機能します。 –

答えて

3
を返す必要がある場合は、単純に変数の値を返す

new_name = name if not return none は、

はい。

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 
+0

私はそれを変数 'new_name = nameにするには名前else 'None – aryan

+0

@aryanあなたの例は動作します –

+0

はい、それは働いた...私はそうではなかったので、値を見ていなかった – aryan

2

私のコメントのようにはい、あなたは1行でそれを行うことができます:この特定のケース(のための

return name if name else None 

、あるいは単純に指摘したようにMartijn):

return name or None 
関連する問題