3
我注意到這個從__build_class__
文檔字符串:類「關鍵字參數」在Python 3
__build_class__(func, name, *bases, metaclass=None, **kwds) -> class
Internal helper function used by the class statement.
激起我興趣是**kwds
兩個部分。類定義可以使用關鍵字參數嗎?我試過了,但是我得到了一個非常奇怪的錯誤:
>>> class Test(a=1):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type() takes 1 or 3 arguments
這裏的交易是什麼? Python 3中的類可以以某種方式接受關鍵字參數?也許需要一個特殊的元類?
我明白了。假設這只是爲了新的'metaclass ='語法而實現的,因爲我認爲只需使用一個元類工廠就可以實現同樣的事情,比如'class MyClass(metaclass = get_metaclass(** kwargs))'。 – asmeurer