
Python已成為人工智能時代最受歡迎的編程語言,吸引了很多專業以及非專業人士的關注。在進行Python基礎學習時,人們都會接觸到作用域。什么是作用域?Python作用域包含哪些知識點呢?今天就來給大家介紹一下如何學習作用域。
作用域是什么?
作用域(Scope)是Python程序的一塊文本區域(textual region),在該文本區域中,對namespace是可以直接訪問,而不需要通過屬性來訪問,Scope是定義程序該如何搜索確切地“名字-對象”的名空間的層級關系。Python中有四個作用域:局部作用域Local、嵌套函數(閉包)作用域Enclosing、全局作用域 Global、內置作用域 Built-in。
Python作用域搜索順序遵循LEGB規則搜,Local -> Enclosing -> Global -> Built-in即:L>E>G>B。當有一個變量在local域中找不到時,Python會找上一層的作用域,即 enclosing 域(該域不一定存在)。enclosing 域還找不到的時候,再往上一層,搜索模塊內的 global 域。最后,會在 built-in 域中搜索。對于最終沒有搜索到時,Python會拋出一個 Name Error 異常。需要注意的是,作用域可以嵌套,如沒創建一個對象都有一個作用域,對象中再創建對象。
如何理解Python中變量的作用域?
1)理解全局變量和局部變量。定義的函數內部的變量名如果是第一次出現, 且在=符號前,那么就可以認為是被定義為局部變量。在這種情況下,不論全局變量中是否用到該變量名,函數中使用的都是局部變量;
2)函數內部的變量名如果是第一次出現,且出現在=符號后面,且在之前已被定義為全局變量,則這里將引用全局變量;
3)函數中使用某個變量時,如果該變量名既有全局變量也有局部變量,則默認使用局部變量;
4)在函數中將某個變量定義為全局變量時需要使用關鍵字global。
本文由培訓無憂網千鋒教育專屬課程顧問整理發布,更多Python開發培訓課程歡迎關注培訓無憂網Python開發頻道或添加老師微信:15033336050
注:尊重原創文章,轉載請注明出處和鏈接 http://m.dedgn.cn/news-id-14197.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注python培訓頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050