Python內建函數locals

來源:互聯網
上載者:User
英文文檔:

locals()

Update and return a dictionary representing the current local symbol table. Free variables are returned by locals() when it is called in function blocks, but not in class blocks.

說明:

  1. 函數功能返回當前範圍內的局部變數和其值組成的字典,與globals函數類似(返回全域變數)

>>> locals(){'__package__': None, '__loader__': , '__doc__': None, '__name__': '__main__', '__builtins__': , '__spec__': None}>>> a = 1>>> locals() # 多了一個key為a值為1的項{'__package__': None, '__loader__': , 'a': 1, '__doc__': None, '__name__': '__main__', '__builtins__': , '__spec__': None}

  2. 可用於函數內。

>>> def f():    print('before define a ')    print(locals()) #範圍內無變數    a = 1    print('after define a')    print(locals()) #範圍內有一個a變數,值為1    >>> f>>> f()before define a {} after define a{'a': 1}

 3. 返回的字典集合不能修改。

>>> def f():    print('before define a ')    print(locals()) # 範圍內無變數    a = 1    print('after define a')    print(locals()) # 範圍內有一個a變數,值為1    b = locals()    print('b["a"]: ',b['a'])     b['a'] = 2 # 修改b['a']值    print('change locals value')    print('b["a"]: ',b['a'])    print('a is ',a) # a的值未變    >>> f()before define a {}after define a{'a': 1}b["a"]:  1change locals valueb["a"]:  2a is  1>>>
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.