動態建立類
1. type()
使用方法:類名=type(類名,繼承的父類集合)
使用type()
創建出mood類,無需定義class mood(object):
>>> def now(who): #創建一個方法
print('anxious')
#使用type動態創建一個類
>>> Mood=type('me',(object),dict(now=now)) #注意第二冊參數是tuple
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
Mood=type('me',(object),dict(now=now))
TypeError: type() argument 2 must be tuple, not type
>>> Mood=type('me',(object,),dict(now=now))
>>> Mood.now('me') #給函數賦值
anxious
>>> print(type(Mood)) #輸出Mood的類型
<class 'type'> #一個類
>>> print(type(now))
<class 'function'>
>>> s=Mood() #創建類的實例
>>> print(type(s)) #輸出實例的類型
<class '__main__.me'> #一個類,包括方法:main、me