私はこのようなPythonの関数を書きたい:Pythonで関数の戻り値の数を検出することは可能ですか?
def foo():
if x:
return y
else:
return y, z
それは可能ですか?可能であれば、戻り値の数をどのように検出できますか?
私はこのようなPythonの関数を書きたい:Pythonで関数の戻り値の数を検出することは可能ですか?
def foo():
if x:
return y
else:
return y, z
それは可能ですか?可能であれば、戻り値の数をどのように検出できますか?
常に2つのタプルを返すように機能を変更する方が簡単かもしれ:
def foo():
if x:
return y, None
else:
return y, z
または私が不在の説得力のある理由はないんだろう。
def foo(z_default = None):
# plug in whatever default makes sense in place of None
# and the caller can override the default if he wants to
if x:
return y, z_default
else:
return y, z
はい、可能です。しかし、if条件がfalseの場合、関数はインデックス0にy
、インデックス1にはz
のタプルを返します。タプル変数の戻り値をキャッチし、タプルの関数len()
を使用して戻り値の数を確認できます。
をはい、それは可能性が高い:
def foo():
if x:
return y
else:
return y, z
result = foo()
the_number_of_return_values_of_foo_function = \
1 if type(result) is not tuple else len(tuple)
良い夜間。
代わりにタプルまたはリストを返しますか? –
はい、私はそれを知っていますが、このようにすることが可能かどうか知りたいのですが? – Navid777
その目的は何ですか?後でそのデータで何をしたいですか? – AKS