亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Python之全局與局部變量

發布時間:2020-08-18 14:55:34 來源:網絡 閱讀:379 作者:師趣妮 欄目:編程語言
'''
命名空間?:?每次在python解釋器啟動之后,就會在內存開辟一塊內存空間,每當遇到一個變量時,就會在命名空間中,記錄下變量名和值之間的關系,也即記錄變量對應的值在內存空間中的
???????????地址;當一個函數時,會在命名空間中記錄下函數名以及函數的地址;
內置命名空間?:?解釋器啟動伊始開辟聲明內置函數的內存空間;
局部命名空間?:?在函數內部,為變量或函數開辟的命名空間;
作用域?:?函數或變量的生命周期;
查看全局作用域中的所有內容?:?globals()
查看局部作用域中的所有內容?:?locals()
函數的嵌套?:?也即支持在一個函數內部可以定義另一個函數
慎用?:
????當需要在局部作用域內,對全局變量進行操作時,需以global關鍵字聲明,要直接對全局變量進行操作,這里的全局,包括絕對全局和相對全局,也即可以對所有大于當前作用域的所有
????作用域內的所有變量進行聲明
????當需要對大于當前作用域,但又并非全局作用域內的變量進行操作時,需以nonlocal關鍵字聲明該變量;
重點(神坑)?:?定義函數時,在同一個代碼塊內,多次調用同一個函數,默認值參數對應的內存空間始終不變,對默認值參數進行修改也始終是在默認值參數對應內存空間上進行修改;
????案例(從指針的角度理解)?:
????def?test(value,?lst?=?[])?:
????lst.append(value)
????print(lst)
????return?lst
????lst1?=?test("a")????#第一次調用test函數,在lst所在內存空間寫入值a,打印a,并返回lst的地址
????lst2?=?test("b",?[])????#第二次調用test函數,由于我們這次沒有使用lst的默認值,而是手動賦值,因此會為lst形參開辟一塊新的內存空間,并寫入值b,打印b,
?????????????????????????????返回新開辟的內存空間的地址;
????lst3?=?test("c")????#第三次調用test函數,由于再次使用了lst的默認值,所以會在lst默認開辟的內存空間內寫入c,也即["a",?"c"],打印["a",?"c"],并返回其地址;
????print(lst1)?????#lst1接收到的為test函數為lst默認開辟的內存空間的地址,而默認的內存空間存的是["a",?"c"],因此打印結果為["a",?"c"]
????print(lst2)?????#lst2接收的是為實參新開辟的內存空間的地址,存的值為["b"],因此打印結果為["b"]
????print(lst3)?????#lst2接收到的為為默認形參lst開辟的內存空間的地址,存的值為["a",?"c"],因此打印結果為["a",?"c"]
????結果?:
???['a']
???['b']
???['a',?'c']
???['a',?'c']
???['b']
???['a',?'c']
'''


向AI問一下細節

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

AI

阳原县| 沛县| 宿州市| 南投县| 张家口市| 封丘县| 延吉市| 韶山市| 新宁县| 克拉玛依市| 宁蒗| 衡山县| 稷山县| 泾川县| 土默特右旗| 英吉沙县| 绥棱县| 青神县| 布尔津县| 包头市| 盐城市| 兰考县| 峨山| 城步| 德庆县| 余干县| 鄂尔多斯市| 南开区| 永平县| 沅江市| 应城市| 辉南县| 竹北市| 温宿县| 珠海市| 明溪县| 天祝| 合作市| 普宁市| 古田县| 崇文区|