嗨喽,大家好呀~这里是爱看美女的茜茜呐
一、 type()
1、创建类的两种方式
方式一
class MyClass(object):
def func(self,name):
print(name)
myc = MyClass()
print(MyClass, type(MyClass))
print(myc, type(myc))
我们创建了一个名为MyClass的类,并实例化了这个类,得到其对象myc
上面代码打印的结果为:
<class '__main__.MyClass'> <class 'type'>
<__main__.MyClass object at 0x0288F8F0> <class '__main__.MyClass'>
type()函数可以查看一个类型或变量的类型,MyClass是一个class,它的类型就是type,而myc是一个实例,它的类型就是class MyClass。
我们说class的定义是运行时动态创建的,而创建class的方法就是使用type()函数。
👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~
python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可
type()函数既可以返回一个对象的类型,又可以创建出新的类型,比如,我们可以通过type()函数创建出MyClass类,而无需通过Class MyClass(object)…的定义:
方式二
动态创建类
type(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))
def fn(self, name='world'): # 先定义函数
print('Hello, %s.' % name)
MyClass = type('MyClass', (object,), {
'func':fn}) # 创建MyClass类,得到一个type的类对象
# MyClass = type('MyClass', (object,), {'func':lambda self,name:name}) # 创建MyClass类
myc=MyClass()
print(MyClass, type(MyClass)