當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。