python中將main函數寫成接口后main函數中的參數不能傳遞問題


 

 

在main函數這種定義了一些參數,但是將main函數改寫成普通函數供其他py文件調用的時候,我們發現原來的參數在ide中變成了灰色,而且不能順利的傳遞給普通函數調用的函數。

在python的main函數中的變量默認為全局變量,而其他的def函數中的變量則默認為局部變量

在普通的def函數A里面,在調用其他函數B的時候,要一起把B函數需要的參數傳遞進去:

看例子:

gl_count = 500  # 全局變量


def my_fun_local():
    gl_count = 0  # 這個count是局部變量,外面的 全局變量與其雖然同名但是無關
    print("my_fun_local ", gl_count)  # 打印局部變量


def my_fun_global():
    global gl_count
    print("my_fun_global ", gl_count)  # 打印全局變量
    gl_count = 5  # 這個count是全局變量,在函數內部進行的修改 會影響到函數外部
    print("my_fun_global ", gl_count)  # 打印全局變量


def main():
    my_fun_local()
    print("main ", gl_count)  # 打印的是全局變量
    my_fun_global()
    print("main ", gl_count)  # 打印的是全局變量


if __name__ == '__main__':
    main()

最方便的解決方法就是把變量提到函數外作為全局變量或者加上global

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM