関数のデフォルト値として入力を使用できますか?例えば関数のデフォルト値として入力
、
f(x=input('>')):
print(x)
問題は、それが私の入力私はx
値を供給しても値になり、です。どのように私はこれを正しく行うでしょうか?
関数のデフォルト値として入力を使用できますか?例えば関数のデフォルト値として入力
、
f(x=input('>')):
print(x)
問題は、それが私の入力私はx
値を供給しても値になり、です。どのように私はこれを正しく行うでしょうか?
Pythonはあなたが機能するために定義され、デフォルトの引数を評価します、あなたは定義時にプロンプトを取得しますいずれか、あなたはそれを好きかどうか。入力プロンプトで入力された値は、x
のデフォルトとして割り当てられます。あなたが他の意味のある値が提供されていない場合input
を使用するデフォルト値を使用する場合は
は、None
を含む一般的なイディオムを使用して、代わりに、関数の本体にinput
をドロップ:
def f(x=None):
if x is None:
x = input('> ')
print(x)
を今、場合あなたは、あなたがすべての呼び出しを使用して機能を再作成する関数を作成する必要があります、私はまだ何とかデフォルト引数でこれをやりたい、考えている:
def f():
def _(x = input('> ')):
print(x)
return _()
私はこれを利益に何が表示されませんもたらすだろうしかしあなたの好奇心を和らげる以外に:-)
これはあなたがしたいことかもしれません。
def f(x=None):
if not x:
x = input('>')
print(x)