2015-06-21 109 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