2015-06-21 80 views
0

我见过'nmspc'用于Python中元类的__init____new__方法。 'nmspc'代表什么?Python metaclass'nmspc'是什么意思?

class SimpleMeta1(type): 
    def __init__(cls, name, bases, nmspc): 
     super(SimpleMeta1, cls).__init__(name, bases, nmspc) 
     cls.uses_metaclass = lambda self : "Yes!" 
+0

**命名空间**:包含类的属性的字典。 –

回答

0

__init____new__的参数是相同type函数的参数:

type(name, bases, dict) -> a new type 

其中所述第三参数包含与class - 块内定义的所有方法或类变量的字典。由于这是班级的“名字空间”,有人可能会将其命名为nmspc,对我而言,名字应该清楚给读者,所以有些元音会很好。

+0

他们为什么使用“字典”这个词?这是一个内置的关键字... – platypus