我有一個代碼定義了幾個函數,我從主容器中調用代碼。每個新功能使用與以前的功能獲得的變量,所以看起來有點像這樣:通過函數之間的變量與全局變量
import some_package
import other_package
import first_function as ff
import secon_function as sf
import third_function as tf
import make_plot as mp
# Get values for three variables from first function
var_1, var_2, var_3 = ff()
# Pass some of those values to second function and get some more
var4, var5 = sf(var_1, var_3)
# Same with third function
var_6, var_7, var_8, var_9 = tf(var_2, var_4, var_5)
# Call plotting function with (almost) all variables
mp(var_1, var_2, var_3, var_5, var_6, var_7, var_8, var_9)
這是比使用全局變量更Python的?這種方法的問題是,如果我從一個給定的函數中添加/刪除一個新變量,我不得不修改四個地方:函數本身,在主代碼中調用該函數,調用make_plot
函數主要和make_plot
函數本身。有沒有更好或更推薦的方法來做到這一點?
聲音像你需要定義一些對象(即創建一些類)的屬性,然後傳遞這些對象。 –