91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

颍上县| 肇源县| 原阳县| 徐闻县| 田林县| 惠东县| 百色市| 焦作市| 梁平县| 庐江县| 黄龙县| 曲松县| 石阡县| 会昌县| 五家渠市| 鄄城县| 临城县| 同江市| 东安县| 高尔夫| 高要市| 阜康市| 锡林浩特市| 清丰县| 台北市| 临漳县| 分宜县| 林甸县| 巍山| 女性| 晋州市| 黄大仙区| 武威市| 叙永县| 建阳市| 蚌埠市| 尉犁县| 唐河县| 泾阳县| 滨海县| 洪雅县|