中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

python作用域怎么用

發布時間:2022-03-29 10:45:45 來源:億速云 閱讀:191 作者:小新 欄目:編程語言

小編給大家分享一下python作用域怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

作用域

變量的作用域決定了在哪一部分程序可以訪問哪個特定的變量名稱。Python的作用域一共有4種,分別是:

  • L (Local) 局部作用域

  • E (Enclosing) 閉包函數外的函數中

  • G (Global) 全局作用域

  • B (Built-in) 內建作用域

以 L –> E –> G –>B 的規則查找,即:在局部找不到,便會去局部外的局部找(例如閉包),再找不到就會去全局找,再者去內建中找。

x = int(2.9)  # 內建作用域
 
g_count = 0  # 全局作用域
def outer():
    o_count = 1  # 閉包函數外的函數中
    def inner():
        i_count = 2  # 局部作用域

Python 中只有模塊(module),類(class)以及函數(def、lambda)才會引入新的作用域,其它的代碼塊(如 if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這這些語句內定義的變量,外部也可以訪問

  • 全局變量和局部變量

    • 定義在函數內部的變量擁有一個局部作用域,定義在函數外的擁有全局作用域。

    • 局部變量只能在其被聲明的函數內部訪問,而全局變量可以在整個程序范圍內訪問。調用函數時,所有在函數內聲明的變量名稱都將被加入到作用域中。

  • global 和 nonlocal關鍵字

    當內部作用域想修改外部作用域的變量時,就要用到global和nonlocal關鍵字了。

    • global

      num = 1
      def fun1():
          global num  # 需要使用 global 關鍵字聲明
          print(num)
          num = 123
          print(num)
      fun1()
       
      以上實例輸出結果:
      1
      123
    • nonlocal

      如果要修改嵌套作用域(enclosing 作用域,外層非全局作用域)中的變量則需要 nonlocal 關鍵字了。

      def outer():
          num = 10
          def inner():
              nonlocal num  # nonlocal關鍵字聲明
              num = 100
              print(num)
          inner()
          print(num)
      outer()
       
      以上實例輸出結果:
      100
      100

以上是“python作用域怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

武宣县| 天长市| 探索| 宜春市| 恩施市| 新巴尔虎右旗| 广宁县| 高青县| 盖州市| 河北区| 崇仁县| 烟台市| 聊城市| 富源县| 安平县| 沧源| 兰考县| 湖北省| 涞水县| 凤凰县| 合阳县| 中超| 溆浦县| 江油市| 织金县| 临漳县| 汉阴县| 新竹县| 杂多县| 安康市| 门源| 富阳市| 克山县| 金寨县| 称多县| 霍林郭勒市| 尉氏县| 东港市| 彰化县| 阿尔山市| 禄丰县|