0
我在Python中遇到了一些麻煩。 我在一個類(STATIC
)初始化變量(basePrice
)。該值是靜態的,初始化需要一些工作,所以我只想做一次。另一個類Item
,是一個創建了很多的類。對象需要使用basePrice
來計算其變量price
。我如何初始化basePrice
一次,然後在Item
對象中使用它?交叉類變量只初始化一次
class STATIC:
basePrice = 0
def __init__(self):
self.basePrice = self.difficultCalculation()
def getBasePrice()
return self.basePrice
import STATIC
class Item:
price = 0
def __init__(self,price_):
self.price = price_ - STATIC.getBasePrice()
你爲什麼要用這個類?只需進行一次計算並將其存儲在全局變量中,例如'base_price'。 – kindall
或者,如果類「STATIC」有其他行爲,可以考慮創建一個單例類。 –
關於單例類,您可以將'base_price'作爲全局變量轉儲到模塊中,而不是在類中,該模塊在程序生命週期中只加載一次。這裏也建議:http://stackoverflow.com/questions/31875/is-there-a-simple-elegant-way-to-define-singletons-in-python –