最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 內(nèi)置函數(shù)globals()和locals()對(duì)比詳解

 更新時(shí)間:2019年12月23日 11:51:58   作者:MilesMa  
這篇文章主要介紹了Python globals()和locals()對(duì)比詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Python globals()和locals()對(duì)比詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Python的兩個(gè)內(nèi)置函數(shù),globals()和locals() ,它們提供了基于字典的訪問(wèn)局部和全局變量的方式。

globals()是可寫(xiě)的,即,可修改該字典中的鍵值,可新增和刪除鍵值對(duì)。

而locals()是不可修改字典中已存在的鍵值的,也不能pop移除鍵值對(duì),但是可以新增鍵值對(duì)。

Demo:

a = 1  # 定義一個(gè)全局變量a

def demo():
  x = 100   # 定義一個(gè)局部變量x
  global b
  b = 2    # 定義一個(gè)全局變量b,因?yàn)樵诤瘮?shù)內(nèi),只有調(diào)用了該函數(shù)才有變量b

  print(globals())  
  print(locals())   

  globals()['a'] = 'modified a'  # 修改函數(shù)外的全局變量a,成功
  globals()['b'] = 'modified b'  # 修改函數(shù)中定義的全局變量b,成功
  globals()['c'] = 'new c'    # 新增一個(gè)全局變量c,成功
  locals()['x'] = 'modified x'  # 修改函數(shù)內(nèi)的局部變量x,結(jié)果失敗了
  locals()['y'] = 'new y'     # 新增一個(gè)函數(shù)內(nèi)的局部變量y,成功
  globals().pop('c')       # 嘗試移除全局變量c,成功
  locals().pop('x')        # 嘗試移除局部變量x,失敗了

  print(globals())
  print(locals())
def print_b():
  try:
    print(b)
  except NameError as e:
    print(e)

def print_x():
  try:
    print(x)
  except NameError as e:
    print(e)


print_b()  # b雖然是全局變量,但是是在函數(shù)demo內(nèi)定義的,在該函數(shù)調(diào)用前b是沒(méi)有的,所以not defined
demo()   # 調(diào)用demo函數(shù),此時(shí)有了全局變量b
print_x()  # x局部變量,在外訪問(wèn)不到
print_b()  # 此時(shí)打印全局變量b正常,并且是修改后的值

# 打印結(jié)果   字典中省略了內(nèi)置的變量和定義的方法,方便比較
name 'b' is not defined
{'a': 1, 'b': 2}  # globals()
{'x': 100}     # locals()
{'a': 'modified a', 'b': 'modified b'}   # globals()
{'y': 'new y', 'x': 100}          # locals()
name 'x' is not defined
modified b

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中subprocess模塊的用法詳解

    Python中subprocess模塊的用法詳解

    這篇文章主要介紹了Python中subprocess模塊的用法詳解,subprocess是Python 2.4中新增的一個(gè)模塊,它允許你生成新的進(jìn)程,連接到它們的 input/output/error 管道,并獲取它們的返回狀態(tài)碼,這個(gè)模塊的目的在于替換幾個(gè)舊的模塊和方法,需要的朋友可以參考下
    2023-08-08
  • Python字符串編碼轉(zhuǎn)換 encode()和decode()方法詳細(xì)說(shuō)明

    Python字符串編碼轉(zhuǎn)換 encode()和decode()方法詳細(xì)說(shuō)明

    這篇文章主要介紹了Python字符串編碼轉(zhuǎn)換 encode()和decode()方法詳細(xì)的說(shuō)明,下面文章圍繞encode()和decode()方法的相相關(guān)資料展開(kāi)內(nèi)容,具有一定的價(jià)值,需要的朋友卡通參考一下
    2021-12-12
  • 詳解python opencv、scikit-image和PIL圖像處理庫(kù)比較

    詳解python opencv、scikit-image和PIL圖像處理庫(kù)比較

    這篇文章主要介紹了詳解python opencv、scikit-image和PIL圖像處理庫(kù)比較,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 基于python 微信小程序之獲取已存在模板消息列表

    基于python 微信小程序之獲取已存在模板消息列表

    這篇文章主要介紹了基于python 微信小程序之獲取已存在模板消息列表的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python獲取當(dāng)前文件和目錄路徑的方法詳解

    python獲取當(dāng)前文件和目錄路徑的方法詳解

    這篇文章主要介紹了Python中獲取當(dāng)前文件路徑和目錄的方法,包括使用__file__關(guān)鍵字、os.path.abspath、os.path.realpath以及sys.path,文中還介紹了在使用這些函數(shù)時(shí)需要注意的事項(xiàng),需要的朋友可以參考下
    2025-01-01
  • Python的Tornado框架實(shí)現(xiàn)圖片上傳及圖片大小修改功能

    Python的Tornado框架實(shí)現(xiàn)圖片上傳及圖片大小修改功能

    Tornado是一個(gè)異步的Python Web開(kāi)發(fā)框架,同時(shí)也是一個(gè)優(yōu)秀的異步服務(wù)器開(kāi)發(fā)庫(kù),這里我們將來(lái)講解一下Python的Tornado框架實(shí)現(xiàn)圖片上傳及圖片大小修改功能方面的一些重點(diǎn):
    2016-06-06
  • Python的numpy庫(kù)中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法

    Python的numpy庫(kù)中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法

    下面小編就為大家分享一篇Python的numpy庫(kù)中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 解決python3輸入的坑——input()

    解決python3輸入的坑——input()

    這篇文章主要介紹了解決python3輸入的坑——input(),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)

    Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)

    這篇文章主要介紹了Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn),需要的朋友可以參考下
    2014-11-11
  • Python常用數(shù)據(jù)庫(kù)接口sqlite3和MySQLdb學(xué)習(xí)指南

    Python常用數(shù)據(jù)庫(kù)接口sqlite3和MySQLdb學(xué)習(xí)指南

    在本章節(jié)中,我們將學(xué)習(xí) Python 中常用的數(shù)據(jù)庫(kù)接口,包括 sqlite3用于SQLite數(shù)據(jù)庫(kù)和MySQLdb用于 MySQL 數(shù)據(jù)庫(kù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評(píng)論

忻城县| 合肥市| 仲巴县| 酒泉市| 南昌县| 资源县| 江津市| 太谷县| 唐河县| 临泽县| 神农架林区| 永安市| 洪湖市| 高台县| 荔波县| 台北市| 多伦县| 西藏| 合阳县| 彰化市| 山阴县| 扎赉特旗| 右玉县| 隆林| 塘沽区| 华坪县| 兰考县| 房山区| 开远市| 开原市| 成都市| 满洲里市| 富源县| 舒兰市| 丹寨县| 西青区| 东平县| 仁布县| 固阳县| 来宾市| 德安县|