作为函数的默认值输入
Input as a default value for a function
是否可以将输入作为函数的默认值?
例如,
f(x=input('>')):
print(x)
问题是,即使我提供 x
值,它也会让我输入一个值。我该如何正确执行此操作?
也许这就是你想要的。
def f(x=None):
if not x:
x = input('>')
print(x)
Python 将 评估 您为函数定义的默认参数,无论您喜欢与否,您都会在定义过程中得到提示。然后将在输入提示中输入的值指定为 x
的默认值。
如果您想要一个在没有提供其他有意义的值时将使用 input
的默认值,请使用涉及 None
的常用习惯用法并在函数主体中删除 input
,而是:
def f(x=None):
if x is None:
x = input('> ')
print(x)
现在,如果你在想,我仍然想以某种方式使用默认参数来做到这一点,那么你需要创建一个函数,re-creates 每次调用你的函数:
def f():
def _(x = input('> ')):
print(x)
return _()
除了满足您的好奇心,我看不出这会带来什么好处:-)
是否可以将输入作为函数的默认值?
例如,
f(x=input('>')):
print(x)
问题是,即使我提供 x
值,它也会让我输入一个值。我该如何正确执行此操作?
也许这就是你想要的。
def f(x=None):
if not x:
x = input('>')
print(x)
Python 将 评估 您为函数定义的默认参数,无论您喜欢与否,您都会在定义过程中得到提示。然后将在输入提示中输入的值指定为 x
的默认值。
如果您想要一个在没有提供其他有意义的值时将使用 input
的默认值,请使用涉及 None
的常用习惯用法并在函数主体中删除 input
,而是:
def f(x=None):
if x is None:
x = input('> ')
print(x)
现在,如果你在想,我仍然想以某种方式使用默认参数来做到这一点,那么你需要创建一个函数,re-creates 每次调用你的函数:
def f():
def _(x = input('> ')):
print(x)
return _()
除了满足您的好奇心,我看不出这会带来什么好处:-)