日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中的作用域以及内置函数globals()-全局变量、locals()-局部变量

發布時間:2025/3/20 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的作用域以及内置函数globals()-全局变量、locals()-局部变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在python中,函數會創建一個自己的作用域,也稱為為命名空間。這意味著在函數內部訪問某個變量時,函數會優先在自己的命名空間中尋找。

通過內置函數globals()返回的是python解釋器能知道的變量名稱的字典(變量名:值);

而locals()函數返回的是函數內部本地作用域中的變量名稱字典。由此可以看出,函數都是由自己獨立的命名空間的。

查看全局變量和局部變量:

#coding=utf-8outerVar="this is a global variable" def test():innerVar="this is a local variable"print "local variables:"print locals()test() print "global variables:" print globals()

結果:

通過全局變量,也可以知道內置屬性__file__指的是當前運行的文件名稱,name__指的是__main,也就是自己的意思

變量相關–變量解析規則

在python的作用域規則里面,創建變量時一定會在當前作用域里創建同樣的變量,但訪問或修改變量時,會在當前作用域中查找該變量,如果沒找到匹配的變量,就會依次向上在閉合作用域中進行查找,所以在函數中直接訪問全局變量也是可以的。

但是變量在函數調用之前必須被聲明,否則報錯

代碼:

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #coding=utf-8 outerVar = "this is a global variable" def test() :innerVar = "this is a Local variable"print outerVar#函數里面沒有,就去外邊找print n n = 10 test()

結果:

變量相關—變量生存空間

變量不僅僅是存在于一個個的命名空間中,它們還都有自己的生存周期,全局變量的生存周期是在整個程序執行期間有效,而局部變量的生存周期只在當前作用域中有效,一旦這個作用域不存在了,比如函數執行退出了,變量的生存周期就結束了。 外部不能使用函數的局部變量

代碼:

#encoding=utf-8 outerVar = "this is a global variable" def test() :innerVar = "this is a Local variable" test() print innerVar

結果:

innerVar變量是函數中的局部變量,所以在函數執行結束后,再去訪問該變量,就會報NameError錯誤。

總結

以上是生活随笔為你收集整理的python中的作用域以及内置函数globals()-全局变量、locals()-局部变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。