在python中从外部函数向内部函数传递相同的参数



我有一个内部函数

def inner_function(scenario = 'name',myopic_variable = True):
if scenario == 'name':
print('Name')
if myopic_variable == True:
print('Myopic is True')

以及像这样的主要功能。

def main_function(scenario = 'name',myopic_variable = True):
inner_function()

现在,当我调用像这样的主函数时,它工作得很好

main_function(scenario = 'name',myopic_variable = True)

但当我更改mypic_variable=False时它仍然给我相同的输出为什么?

def inner_function(scenario = 'name',myopic_variable = True):您在此处传递的是默认值true。

def main_function(scenario = 'name',myopic_variable = True):
inner_function()

这里,没有参数传递给inner_functions(),它打印默认值True。要使其正确,请调用inner_function(myopic_variable = myopic_variable)

这是因为您在python中使用了一种称为默认参数的东西。为了理解你所面临的问题,让我们举一个例子:

def inner_fun(a=True):
print(a)
inner_fun() 

将打印True,因为我们在调用此函数时没有传递任何参数。因此,它将使用默认参数,此处为True。

如果运行inner_fun(False),它将打印False,因为这一次您在函数中传递的参数的优先级高于默认值。

相关内容

  • 没有找到相关文章

最新更新