<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Python `globals()`函數 > 原文: [https://thepythonguru.com/python-builtin-functions/globals/](https://thepythonguru.com/python-builtin-functions/globals/) * * * 于 2020 年 1 月 7 日更新 * * * `globals()`函數返回一個字典,其中包含在全局命名空間中定義的變量。 當從函數或方法中調用`globals()`時,它將返回表示該函數或方法所定義的模塊的全局命名空間的字典,而不是從其調用處。 其語法如下: ```py globals() -> dictionary ``` 讓我們舉一些例子: **示例 1**: **`module1.py`** ```py #!/usr/bin/python3 from pprint import pprint a = 100 b = 4 def foo(): x = 100 # x is a local variable pprint(globals()) ``` **預期輸出**: ```py {'__builtins__': <module 'builtins' (built-in)>, '__cached__': None, '__doc__': None, '__file__': './module1.py', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f699cab37f0>, '__name__': '__main__', '__package__': None, '__spec__': None, 'a': 100, 'b': 4, 'foo': <function foo at 0x7f699ca1e2f0>, 'pprint': <function pprint at 0x7f699ca1e6a8>} ``` 試試看: ```py from pprint import pprint a = 100 b = 4 def foo(): x = 100 # x is a local variable pprint(globals()) ``` 以雙下劃線開頭和結尾的名稱是特殊的,并且由 Python 解釋器定義。 我們在模塊中定義的變量最后出現。 請注意,在`foo()`函數內部定義的局部變量`x`不包含在結果中。 要訪問本地名稱空間,請使用[`locals()`](/python-builtin-functions/locals/)函數。 **示例 2**: **`module1.py`** ```py #!/usr/bin/python3 from pprint import pprint a = 100 b = 4 def foo(): x = 100 # x is a local variable pprint(globals()) ``` **`module2.py`** ```py #!/usr/bin/python3 import module1 x = 100 y = 2 module1.foo() ``` **預期輸出**: ```py {'__builtins__': { ... } '__cached__': '/home/overiq/tmp/__pycache__/module1.cpython-35.pyc', '__doc__': None, '__file__': '/home/overiq/tmp/module1.py', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f17b12305c0>, '__name__': 'module1', '__package__': '', '__spec__': ModuleSpec(name='module1', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f17b12305c0>, origin='/home/overiq/tmp/module1.py'), 'a': 100, 'b': 4, 'foo': <function foo at 0x7f17b121d488>, 'pprint': <function pprint at 0x7f17b121d730>} ``` 在這種情況下,`globals()`調用位于`foo()`函數內部。 當從`module2`調用`foo()`函數時,它將打印在`module1`的全局命名空間中定義的變量。 * * * * * *
                  <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>

                              哎呀哎呀视频在线观看