您好,登錄后才能下訂單哦!
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)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。