91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中全局變量的引用與修改之格式影響

發布時間:2020-05-17 00:15:19 來源:網絡 閱讀:219 作者:劉智民 欄目:編程語言

先來看下面的代碼及執行結果:

a = 1
b = [2,3]
def nums():
    a = 2
    b[0] = 0
    print(a)
    print(b)
print(a)
print(b)
nums()
print(a)
print(b)

結果:

1
[2, 3]
2
[0, 3]
1
[0, 3]
在學習過程中有什么不懂得可以加我的
python學習交流扣扣qun,784758214
群里有不錯的學習視頻教程、開發工具與電子書籍。
與你分享python企業當下人才需求及怎么從零基礎學習好python,和學習什么內容

對上面結果的分析:

函數 nums() 中重新定義了一個變量 a ,這個 a 是局部變量,與外面的全局變量沒有關系,而全局變量 列表 b 直接被引用過來進行修改了,同樣是全局變量為什么會有差別呢?

  因為格式問題引發了歧義,容器類型的數據如,列表,字典,他們的修改和創建書寫格式全然不同,不會引發奇異,而數字,字符串類型變量的定義和修改都是用 = 鏈接,引發了格式上的歧義,所以,當Python解釋器遇到函數中的 “a = 2”這種格式時,不知道是 “引用全局變量a修改為2” 還是 “定義一個等于 2 的變量” ,從而引發歧義,為了確保全局變量對代碼其他部分產生更小的影響,Python默認為第二種——重新定義一個變量,來避免修改全局變量對整體代碼產生其他未知影響。

綜上所述:

本質:格式引發的歧義問題

運用:對于字典,列表不會因為格式問題引發歧義的,不用管他;對于數字,字符串來說,當引用與創建發生歧義時,Python解釋器默認創建新的變量,若不想創建,只是想修改全局變量,需要加global聲明,另外,如果只是單純的引用全局變量,而不會產生歧義的,如 對于全局變量 a 來說,b = a + 5,這里只是單純的使用,不會產生格式上的歧義問題,也不需要加global。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣武区| 固始县| 额尔古纳市| 海晏县| 澳门| 清原| 阿城市| 彰化县| 德庆县| 阿拉善左旗| 多伦县| 永德县| 沐川县| 湖州市| 阳江市| 怀柔区| 鄂托克前旗| 华亭县| 巴马| 慈溪市| 微博| 廊坊市| 乌兰浩特市| 竹溪县| 福贡县| 高陵县| 思茅市| 新邵县| 东源县| 定远县| 富蕴县| 晋宁县| 雷州市| 东阿县| 仪征市| 怀柔区| 湖南省| 寿光市| 西峡县| 广西| 枝江市|