1. 创建类的第1方式(常用)
class Foo(object):
def func(self):
print("Hello Foo")
2.创建类的第2方式
def func(self):
print("创建类的第2方式")
#构造函数
def __init__(self,name):
self.name = name
'''
type第一个参数:类名
type第二个参数:当前类的基类,第二个参数位置是一个元组
type第三个参数:类的成员
'''
Foo = type('Foo', (object,), {'func': func, '__init__':__init__})
# 实例化
f = Foo("Td")
f.func() # 结果为:创建类的第2方式
print(type(Foo)) # <class 'type'>
结论:
(1)f对象是Foo类的一个实例,Foo类对象是 type 类的一个实例,即:Foo类对象 是通过type类的构造方法创建。 (2)type的起源是python解释器提供的
源码学地址:https://gitee.com/FelixBinCloud/PythonLearn/commit/eca61e67b9c821ab19a7e54c6b40bc6e8a43da3f