亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

金川县| 郎溪县| 吉林市| 固始县| 松潘县| 通州区| 璧山县| 南充市| 慈溪市| 车险| 台山市| 齐齐哈尔市| 巨鹿县| 隆子县| 长泰县| 广州市| 洛南县| 五峰| 肇州县| 南部县| 嘉义市| 西乌珠穆沁旗| 桑植县| 锦屏县| 博客| 图们市| 任丘市| 达尔| 肥东县| 安徽省| 阿尔山市| 沁阳市| 资讯| 兰考县| 连州市| 沁源县| 迁安市| 大竹县| 镶黄旗| 大姚县| 安新县|