我有这个课程,当然,这只是一个有效的例子:
class Intervals(dict):
def __init__(self, *_):
self.update({'P5': 7})
class Intervals(metaclass=Intervals):
pass
我喜欢这个主意,因为我不需要这样的实例。
现在,只是,每当我调用Intervals['P5']
,__init__
运行并在返回值之前构建新字典?
答案 0 :(得分:0)
不,每次拨打Intervals['P5']
时都不会构建新词典。
实际上,您的代码相当于:
class Intervals(dict):
def __init__(self, *_):
self.update({'P5': 7})
Intervals = Intervals()
您只需创建一个Intervals
对象(只是使用某些值初始化的dict
),并将其存储在名为Intervals
的变量中,并隐藏Intervals
类