您现在的位置是: 网站首页 >Python Python
Python创建类的两种方式
admin2018年11月15日 15:43 【Python 】 1105人已围观
## class普遍方式 使用`class`关键字 ```python class A(object): def __init__(self, name): self.name = name def info(self): print('Name:', self.name) a = A('Bob') a.info() # Name: Bob print(type(a)) # 实例a的类型:<class '__main__.A'> print(type(A)) # 类A的类型:<class 'type'> ``` 分别打印a和A的类型,发现A是`type`,**type**`就是类 > 类的类,也就是元类。元类用来创建类的‘东西’。我们创建类就是为了创建类的实例对象,Python中类也是对象。元类就是用来创建这些类(对象)的,原来就是类的类。 那就有了第二种创建类的方法:type动态创建类 ## type动态创建类 type有一个方法:**`type(类名,(父类名, ...),字典形式方法名{'类的方法名称': 写好的函数} )`**用来动态创建类 三个参数具体内容: - 第一个参数:要创建的class的名称 - 第二个参数:继承的父类集合,Python支持多重继承,如果只有一个父类,写(obj,); - 第三个参数:class的方法名字典,字典内容为‘类里面方法名称’:‘写好的函数名称’,创建之后使用类方法名称调用 ```python def info(self): print('Name:', self.name, 'Age:', self.age) def __init__(self, name, age): self.name = name self.age = age B = type('B', (object, ), { '__init__': __init__, 'info': info, }) b = B('Bob', 25) b.info() # Name: Bob Age: 25 print(type(b)) # <class '__main__.B'> print(type(B)) # <class 'type'> ```
很赞哦! (0)
上一篇:Django的F和Q查询使用方法
相关文章
文章交流
- emoji