在類中的方法中引用具有新變量名稱的屬性是不好的做法嗎?例如:在方法中引用屬性
class Stuff:
def __init__(self, a):
self.a = a
def some_method(self):
a = self.a
# Do some stuff with a
我在其他人的代碼中看到過這個,我自己養成了一個習慣,尤其是對於長變量名。這似乎是a
的副本創建時,我這樣做可能是一個問題,如果a
是非常大的。我應該堅持在some_method
內撥打self.a
嗎? python垃圾在被調用後收集在some_method
中創建的a
?
旁註:你引用的是_attribute_,而不是_property_。 [Python的屬性](https://docs.python.org/3/library/functions.html#property)是類似於屬性的方法。事實上,如果它真的是一個屬性,緩存到本地名稱可能會更有意義(假設屬性是冪等的,所以重複訪問對代碼邏輯來說並不重要),因爲它會避免一遍又一遍地調用該方法。按照慣例,按照慣例,屬性的調用相當便宜,但它的價格仍然高得多(相對而言,儘管不是絕對的規模),但這種簡單的屬性訪問仍然很貴。 – ShadowRanger
修正,謝謝澄清 –