
在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

