簡體   English   中英

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM