1.效果圖:
2.代碼
# 作用域 是 對象生效的區域(對象能被使用的區域) # 全局作用域在任意位置可生效 # 局部作用域在函數內生效 c = 20 # 全局變量 def fn(): d = 10 # a定義在了函數內部,所以他的作用域就是函數內部,函數外部無法訪問 print('函數內部:','c =',c) print('函數內部:','d =',d) fn() print('函數外部獲取:','c =',c) print('函數外部獲取:','d =',d) # 在Python中一共有兩種作用域 # 全局作用域 # - 全局作用域在程序執行時創建,在程序執行結束時銷毀 # - 所有函數以外的區域都是全局作用域 # - 在全局作用域中定義的變量,都屬于全局變量,全局變量可以在程序的任意位置被訪問 # # 函數作用域 # - 函數作用域在函數調用時創建,在調用結束時銷毀 # - 函數每調用一次就會產生一個新的函數作用域 # - 在函數作用域中定義的變量,都是局部變量,它只能在函數內部被訪問 # # 變量的查找 # - 當我們使用變量時,會優先在當前作用域中尋找該變量,如果有則使用, # 如果沒有則繼續去上一級作用域中尋找,如果有則使用, # 如果依然沒有則繼續去上一級作用域中尋找,以此類推 # 直到找到全局作用域,依然沒有找到,則會拋出異常 # NameError: name 'a' is not defined
3. 在函數內修改全局變量 使用global關鍵字
效果圖:
代碼:
a = 20 def fn3(): # a = 10 # 在函數中為變量賦值時,默認都是為局部變量賦值 # 如果希望在函數內部修改全局變量,則需要使用global關鍵字,來聲明變量 global a # 聲明在函數內部的使用a是全局變量,此時再去修改a時,就是在修改全局的a a = 10 # 修改全局變量 print('函數內部:','a =',a) fn3() print('函數外部:','a =',a)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
