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

溫馨提示×

python local與其他作用域有何不同

小樊
82
2024-11-23 15:38:26
欄目: 編程語言

在Python中,作用域是指變量和函數在代碼中的可見范圍。Python的作用域分為四種:局部作用域(Local)、嵌套局部作用域(Enclosing)、全局作用域(Global)和內置作用域(Built-in)。下面我們詳細討論一下局部作用域與其他作用域的區別:

  1. 局部作用域(Local): 局部作用域通常在函數內部定義,它只在該函數內部可見。當函數執行結束后,局部變量會被銷毀。局部作用域不能訪問全局作用域中的變量,但全局作用域可以訪問局部作用域中的變量。

示例:

def my_function():
    local_var = 10  # 局部變量
    print(local_var)

my_function()  # 輸出:10
print(local_var)  # 報錯:NameError: name 'local_var' is not defined
  1. 全局作用域(Global): 全局作用域在整個程序范圍內都可見。全局變量在程序的任意位置都可以訪問。要在函數內部修改全局變量,需要使用global關鍵字聲明。

示例:

global_var = 10  # 全局變量

def my_function():
    global global_var  # 聲明使用全局變量
    global_var = 20  # 修改全局變量的值

my_function()
print(global_var)  # 輸出:20
  1. 嵌套局部作用域(Enclosing): 嵌套局部作用域通常在另一個函數內部定義,它的作用范圍僅限于該函數內部。但是,它可以訪問其外部函數的局部變量。嵌套局部作用域通常通過nonlocal關鍵字聲明。

示例:

def outer_function():
    enclosing_var = 10  # 嵌套局部變量

    def my_function():
        nonlocal enclosing_var  # 聲明使用嵌套局部變量
        enclosing_var = 20  # 修改嵌套局部變量的值

    my_function()
    print(enclosing_var)  # 輸出:20

outer_function()
print(enclosing_var)  # 報錯:NameError: name 'enclosing_var' is not defined
  1. 內置作用域(Built-in): 內置作用域包含Python內置函數和異常。這些函數和異常在整個程序范圍內都可見,可以直接使用,無需導入任何模塊。

示例:

def my_function():
    print(len([1, 2, 3]))  # 使用內置函數len()

my_function()  # 輸出:3

總結一下,局部作用域與其他作用域的主要區別在于它們的作用范圍和生命周期。局部作用域僅在函數內部可見,生命周期僅限于函數執行期間。全局作用域在整個程序范圍內可見,生命周期貫穿整個程序執行過程。嵌套局部作用域在另一個函數內部定義,可以訪問其外部函數的局部變量。內置作用域包含Python內置函數和異常,在整個程序范圍內都可見。

0
亳州市| 卫辉市| 门源| 冷水江市| 揭西县| 台东市| 都匀市| 临湘市| 东宁县| 兴文县| 铁岭市| 安顺市| 锡林郭勒盟| 牟定县| 娄烦县| 宜黄县| 彰化县| 突泉县| 淮南市| 乐至县| 乡城县| 永登县| 项城市| 台山市| 汝州市| 钟祥市| 建瓯市| 凌海市| 普兰县| 沙坪坝区| 界首市| 渑池县| 洞头县| 白银市| 长葛市| 陕西省| 新巴尔虎左旗| 临清市| 榆林市| 北安市| 沈丘县|