![](/img/trans.png)
[英]passing argument of outer function as argument for inner function in python?
[英]passing same argument from outer function to inner function in 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 函數時,它工作正常
main_function(scenario = 'name',myopic_variable = True)
但是當我更改 myopic_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 因為我們在調用此函數時沒有傳遞任何參數。 因此,它將 takr 此處為 True 的默認參數。
如果您運行inner_fun(False)
,它將打印 False 因為這次您在函數中傳遞了一個優先級高於默認值的參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.