在python 中,所有的一切都来自于type 各种对应关系如下
1、type 所有的一切来源
2、metaclass 元类 或者类生成器
3、class 类 或者叫 实例生成器
4、实例
5、实例的各种属性与方法
举例说明:
# 创建一个Hello类,拥有一个方法,也是她的一个属性
class Hello():
def say_hello(self, name='world'):
print('Hello, %s.' % name)
# 用类来创建一个实例
hello = Hello()
# 使用hello调用方法say_hello
hello.say_hello()
如果使用type创建一个类就可以用如下的:
def fn(self, name="world"):
print("hello, %s" %name)
Hello = type("Hello", (object,), dict(say_hello=fn))
# 创建实例并调用
hello = Hello()
hello.say_hello()
Hello = type("Hello", (object,), dict(say_hello=fn))
这句话中三个参数的意义
Hello 就相当于这个实例的名字 将它叫做Hello
(object,) 它来自于哪里,就是所有类的祖先,object
dict(say_hello=fn) 将包含的属性和方法包到一个字典中然后作为参数传递