我们一般是在类的外部创建对象,但其实有了type函数后,也可以在类的内部创建对象
在类里,形参里的第一个参数self,一般表示所在类的对象
使用type(self)可以获取所在类,然后再进行实例化即可
class Animal():
def __init__(self,name=None):
self.name = name
def createObject(self,objectname):
# type(self)获取的是对象的类,并赋值给变量cls
cls = type(self)
return cls(objectname) # cls()创建对象
cat = Animal("CAT OUTSIDE")
catinside = cat.createObject("CAT INSIDE")
print(cat.name)
print(catinside.name)