qiuyouzhi 发表于 2021-7-12 14:31:49

Python type 的另一种用法

Python type 的另一种用法

前言

Python 的 type 有两种用法。

第一种(只传入一个参数) 返回参数的类型。

第二种(传入三个参数) 会返回一个新的类型对象。

这里详细介绍第二种用法。

用法

type 的三个参数分别为:name, bases, dict

name 参数

它指定了新类的名称。

bases 参数

它指定了新类的父类(基类),以元组形式传入。

若 bases 参数为空,则父类(基类)默认为 object。

dict 参数

它指定了新类的类属性,若留空则无属性。

示例

# 1, 单纯的定义一个类

# 类名为 A, 父类为 object, 属性..
A = type('A', (object, ), {'isHandsome': True})

# 2, 一个有父类的类
A = type('A', (object, ), {'isHandsome': True})
B = type('B', (A, ), {'isClever': False})
C = type('C', (B, ), {})
# 注意!上面的这行代码不能这样写:
# C = type('C', (A, B, ), {})
# 这样会报错,因为有一个类和父类的父类重复了(A 和 B 的父类重复)
# 需要去掉A。
print(C.isHandsome, C.isClever)

# 3, 继承两个类
A = type('A', (), {})
D = type('D', (), {})
E = type('E', (A, D), {})

# 4, 一些没有什么用处的骚操作
# 借助字符串,你可以创造出一些名字特别的类..
A = type('BoCai\'s Class', (), {})
print(A)
页: [1]
查看完整版本: Python type 的另一种用法