class 语句
class 语句用来定义类,语法如下:
@assignment_expression
class classname(argument_list):
suite
其中的装饰器 @assignment_expression
,基类参数及圆括号 (argument_list)
是可选项。
类定义是一条可执行语句。它执行时会将类名称 classname 绑定到一个新建的类对象。
没有继承基类参数 argument_list 的类默认继承自基类 object。下列是一个必选参数定义的类,默认继承自 object:
# 创建一个类名为 A 的类
class A: pass
A.__bases__ # 查看基类
(object,)
# 创建一个类 B 继承自 int 和 A
class B(int, A):
pass
B.__bases__
(int, __main__.A)
类也可以被装饰,就像装饰函数一样,装饰器表达式的求值规则与函数装饰器相同(详见 def 定义函数)。结果随后会被绑定到类名称。
@str
@type
class C: pass
C
"<class 'type'>"
大致相当于:
class C: pass
C = str(type(C))
C
"<class 'type'>"