<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 導航 - [索引](../genindex.xhtml "總目錄") - [模塊](../py-modindex.xhtml "Python 模塊索引") | - [下一頁](symbol.xhtml "symbol --- 與 Python 解析樹一起使用的常量") | - [上一頁](ast.xhtml "ast --- 抽象語法樹") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) ? - zh\_CN 3.7.3 [文檔](../index.xhtml) ? - [Python 標準庫](index.xhtml) ? - [Python 語言服務](language.xhtml) ? - $('.inline-search').show(0); | # [`symtable`](#module-symtable "symtable: Interface to the compiler's internal symbol tables.") --- Access to the compiler's symbol tables **Source code:** [Lib/symtable.py](https://github.com/python/cpython/tree/3.7/Lib/symtable.py) \[https://github.com/python/cpython/tree/3.7/Lib/symtable.py\] - - - - - - Symbol tables are generated by the compiler from AST just before bytecode is generated. The symbol table is responsible for calculating the scope of every identifier in the code. [`symtable`](#module-symtable "symtable: Interface to the compiler's internal symbol tables.") provides an interface to examine these tables. ## Generating Symbol Tables `symtable.``symtable`(*code*, *filename*, *compile\_type*)Return the toplevel [`SymbolTable`](#symtable.SymbolTable "symtable.SymbolTable") for the Python source *code*. *filename* is the name of the file containing the code. *compile\_type* is like the *mode* argument to [`compile()`](functions.xhtml#compile "compile"). ## Examining Symbol Tables *class* `symtable.``SymbolTable`A namespace table for a block. The constructor is not public. `get_type`()Return the type of the symbol table. Possible values are `'class'`, `'module'`, and `'function'`. `get_id`()Return the table's identifier. `get_name`()Return the table's name. This is the name of the class if the table is for a class, the name of the function if the table is for a function, or `'top'` if the table is global ([`get_type()`](#symtable.SymbolTable.get_type "symtable.SymbolTable.get_type") returns `'module'`). `get_lineno`()Return the number of the first line in the block this table represents. `is_optimized`()Return `True` if the locals in this table can be optimized. `is_nested`()Return `True` if the block is a nested class or function. `has_children`()Return `True` if the block has nested namespaces within it. These can be obtained with [`get_children()`](#symtable.SymbolTable.get_children "symtable.SymbolTable.get_children"). `has_exec`()Return `True` if the block uses `exec`. `get_identifiers`()Return a list of names of symbols in this table. `lookup`(*name*)Lookup *name* in the table and return a [`Symbol`](#symtable.Symbol "symtable.Symbol") instance. `get_symbols`()Return a list of [`Symbol`](#symtable.Symbol "symtable.Symbol") instances for names in the table. `get_children`()Return a list of the nested symbol tables. *class* `symtable.``Function`A namespace for a function or method. This class inherits [`SymbolTable`](#symtable.SymbolTable "symtable.SymbolTable"). `get_parameters`()Return a tuple containing names of parameters to this function. `get_locals`()Return a tuple containing names of locals in this function. `get_globals`()Return a tuple containing names of globals in this function. `get_frees`()Return a tuple containing names of free variables in this function. *class* `symtable.``Class`A namespace of a class. This class inherits [`SymbolTable`](#symtable.SymbolTable "symtable.SymbolTable"). `get_methods`()Return a tuple containing the names of methods declared in the class. *class* `symtable.``Symbol`An entry in a [`SymbolTable`](#symtable.SymbolTable "symtable.SymbolTable") corresponding to an identifier in the source. The constructor is not public. `get_name`()Return the symbol's name. `is_referenced`()Return `True` if the symbol is used in its block. `is_imported`()Return `True` if the symbol is created from an import statement. `is_parameter`()Return `True` if the symbol is a parameter. `is_global`()Return `True` if the symbol is global. `is_declared_global`()Return `True` if the symbol is declared global with a global statement. `is_local`()Return `True` if the symbol is local to its block. `is_free`()Return `True` if the symbol is referenced in its block, but not assigned to. `is_assigned`()Return `True` if the symbol is assigned to in its block. `is_namespace`()Return `True` if name binding introduces new namespace. If the name is used as the target of a function or class statement, this will be true. 例如: ``` >>> table = symtable.symtable("def some_func(): pass", "string", "exec") >>> table.lookup("some_func").is_namespace() True ``` Note that a single name can be bound to multiple objects. If the result is `True`, the name may also be bound to other objects, like an int or list, that does not introduce a new namespace. `get_namespaces`()Return a list of namespaces bound to this name. `get_namespace`()Return the namespace bound to this name. If more than one namespace is bound, [`ValueError`](exceptions.xhtml#ValueError "ValueError") is raised. ### 導航 - [索引](../genindex.xhtml "總目錄") - [模塊](../py-modindex.xhtml "Python 模塊索引") | - [下一頁](symbol.xhtml "symbol --- 與 Python 解析樹一起使用的常量") | - [上一頁](ast.xhtml "ast --- 抽象語法樹") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) ? - zh\_CN 3.7.3 [文檔](../index.xhtml) ? - [Python 標準庫](index.xhtml) ? - [Python 語言服務](language.xhtml) ? - $('.inline-search').show(0); | ? [版權所有](../copyright.xhtml) 2001-2019, Python Software Foundation. Python 軟件基金會是一個非盈利組織。 [請捐助。](https://www.python.org/psf/donations/) 最后更新于 5月 21, 2019. [發現了問題](../bugs.xhtml)? 使用[Sphinx](http://sphinx.pocoo.org/)1.8.4 創建。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看