日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python中元類用法實例

系統 2069 0

本文實例講述了python中元類用法,分享給大家供大家參考。具體方法分析如下:

1. 元類(metaclass)是用來創建類的類

2. type(object):返回一個對象的類型,與object.__class__的值相同 ,type(name,bases,dict):創建一個新的type類型,name就是新class的name,值存到__name__屬性中,bases是tuple類型,值會存到__bases__中,dict的值存到__dict__中

復制代碼 代碼如下:
class X:
...???? a = 1
...
X = type('X', (object,), dict(a=1))

3.類默認是用type()創建的,通過定義類時指定metaclass參數或繼承自某個類,而該類指定了metaclass參數,可以自定義類的創建過程

復制代碼 代碼如下:
class OrderedClass(type):
???? #該方法返回值就是__new__的namespace參數,如果沒有該方法namespace的值就是dict()
???? @classmethod
???? def __prepare__(metacls, name, bases, **kwds):
??????? return collections.OrderedDict()
???? #namespace就是class的__dict__,這個dict類型的對象已經被填充了相應的值
???? def __new__(cls, name, bases, namespace, **kwds):
??????? result = type.__new__(cls, name, bases, dict(namespace))
??????? result.members = tuple(namespace)
??????? return result

class A(metaclass=OrderedClass):
??? def one(self): pass
??? def two(self): pass
??? def three(self): pass
??? def four(self): pass
print(A.members)
#('__module__', '__qualname__', 'one', 'two', 'three', 'four')

希望本文所述對大家的Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 汤原县| 澄江县| 浏阳市| 石嘴山市| 淄博市| 渝北区| 宁蒗| 乐至县| 简阳市| 岳普湖县| 伊宁市| 南澳县| 东港市| 黄龙县| 和龙市| 龙游县| 冷水江市| 宜兰市| 沙河市| 赣州市| 华亭县| 紫金县| 桐梓县| 游戏| 塔河县| 田阳县| 吴川市| 香格里拉县| 忻州市| 怀远县| 黄浦区| 富川| 手机| 乐亭县| 牟定县| 马山县| 遂昌县| 阜南县| 简阳市| 朝阳区| 孟津县|