当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ast.ClassDef用法及代码示例


用法:

class ast.ClassDef(name, bases, keywords, starargs, kwargs, body, decorator_list)

一个类定义。

  • name 是类名的原始字符串
  • bases 是显式指定基类的节点列表。
  • keywordskeyword 节点的列表,主要用于‘metaclass’。其他关键字将按照 PEP-3115 传递给元类。
  • starargskwargs 都是单个节点,就像在函数调用中一样。 starargs 将被扩展以加入基类列表,并且 kwargs 将被传递给元类。
  • body 是代表类定义中代码的节点列表。
  • decorator_list 是节点列表,如 FunctionDef
>>> print(ast.dump(ast.parse("""\
... @decorator1
... @decorator2
... class Foo(base1, base2, metaclass=meta):
...     pass
... """), indent=4))
Module(
    body=[
        ClassDef(
            name='Foo',
            bases=[
                Name(id='base1', ctx=Load()),
                Name(id='base2', ctx=Load())],
            keywords=[
                keyword(
                    arg='metaclass',
                    value=Name(id='meta', ctx=Load()))],
            body=[
                Pass()],
            decorator_list=[
                Name(id='decorator1', ctx=Load()),
                Name(id='decorator2', ctx=Load())])],
    type_ignores=[])

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ast.ClassDef。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。