python元類學習筆記

一 對於python類帶括號和不帶括號的區別:python

class User(object):
    def __init__(self, name):
        self.name = name


a = User   # a和User等價
print(a)
print(a == User)
a.name = 'aaa'
print(User.name)

print('-'*10)

b = User('bbb')   # b是User的一個實例對象
print(b)
print(User.name)

輸出結果:
<class '__main__.User'>
True
aaa
----------
<__main__.User object at 0x104e206a0>
aaa

  

二 python中的類一樣也是對象函數

三 使用type建立類對象

type(類名, 父類的元組(針對繼承的狀況,能夠爲空),包含屬性的字典(名稱和值))
class User(object):
  name = "aaa"
User = type('User', (), {"name": "aaa"})

  

Python中的類也是對象,元類就是用來建立這些類的,元類就是類的類blog

函數type其實是一個元類。type就是Python在背後用來建立全部類的元類繼承

str是用來建立字符串對象的類,而int是用來建立整數對象的類。type就是建立類對象的類字符串

相關文章
相關標籤/搜索