我在使用Python的范围时遇到了一些麻烦。
我在类(basePrice
)中初始化变量(STATIC
)。值是静态的,初始化需要一些工作,所以我只想做一次。另一个类Item
是一个经常创建的类。 Item
对象需要使用price
计算其变量basePrice
。如何仅将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()
答案 0 :(得分:0)
编写模块可能更好。例如,创建文件STATIC.py
,如下所示。
basePrice = difficultCalculation()
def difficultCalculation():
# details of implementation
# you can add other methods and classes and variables
然后,在包含Item
的文件中,您可以执行以下操作:
from STATIC import basePrice
这将允许从该文件中的任何位置访问basePrice
。