国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中元類用法實例

2019-11-25 18:08:54
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿鹿县| 浪卡子县| 安图县| 新巴尔虎左旗| 昂仁县| 卢氏县| 体育| 荃湾区| 和政县| 阿拉善右旗| 长乐市| 嘉鱼县| 南宫市| 团风县| 南澳县| 喀什市| 尚义县| 阿克苏市| 铜梁县| 宜城市| 淳安县| 龙里县| 临沧市| 阳江市| 巴林右旗| 聂荣县| 特克斯县| 靖西县| 龙岩市| 来安县| 巢湖市| 绥芬河市| 黄陵县| 北海市| 平遥县| 焦作市| 天等县| 兴宁市| 灵丘县| 油尖旺区| 大安市|