我想達到的目標是:Python 3如何存儲局部變量?
def foo(self):
i = 4
self.bar(__something_which_holds_foo_variables__)
print(i) # prints 8
print(j) # prints 2
def bar(self, vars):
vars.j = 2
vars.i = vars.i * vars.j
訪問從另一個方法的方法的所有局部變量。
使用嵌套方法和nonlocal
變量不是一個選項,因爲foo
和bar
可能在不同的模塊中。 通過名稱傳遞變量也不是一個選項,因爲bar()
可能會產生其他變量,我想稍後將其用作foo()
中的當地人。此外,潛在bar()
可能會使用很多來自foo()
的變量。
是否有可能實現這一點,以及爲什麼這樣的想法可能是好還是壞?
你對'self'的使用意味着你正在使用'class' ......如果是這樣的話 - 你應該只存儲所有方法在類的實例中共同的東西...... –
在上面的例子中,是的。但我明確指出,'foo'和'bar'可能在不同的模塊中。無論如何,我用不同的方式解決了這個問題 –