最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python變量作用域(四個主要作用域)

 更新時間:2025年11月17日 09:40:54   作者:luod  
文章介紹了Python中變量的作用域,包括局部作用域、嵌套函數(shù)作用域、全局作用域和內(nèi)置作用域,還討論了變量遮蔽問題以及如何使用`global`和`nonlocal`關(guān)鍵字來修改不同作用域中的變量,感興趣的朋友跟隨小編一起看看吧

在程序中定義一個變量時,這個變量是有作用域的,變量的作用范圍被稱為它的作用域。

四種主要作用域

  1. 局部作用域
  2. 嵌套函數(shù)作用域
  3. 全局作用域
  4. 內(nèi)置作用域

1. 局部作用域

def my_function():
    x = 10  # 局部變量
    print(x)  # 可以訪問
my_function()  # 輸出: 10
# print(x)  # 這里會報錯,x在函數(shù)外部不可訪問

2. 嵌套函數(shù)作用域

在嵌套函數(shù)中,內(nèi)部函數(shù)可以訪問外部函數(shù)的變量。

def outer():
    x = "outer"  # 嵌套作用域變量
    def inner():
        print(x)  # 可以訪問外部函數(shù)的變量
    inner()
outer()  # 輸出: outer

3. 全局作用域

在模塊級別定義的變量具有全局作用域。

x = "global"  # 全局變量
def my_function():
    print(x)  # 可以訪問全局變量
my_function()  # 輸出: global
print(x)       # 輸出: global

4. 內(nèi)置作用域

在Python中,內(nèi)置作用域(Built-in Scope) 是最外層的作用域,包含了所有內(nèi)置函數(shù)、異常和對象,如print(), len(), True等

內(nèi)置作用域中的名稱在任何地方都可用,無需導入:

# 這些函數(shù)都來自內(nèi)置作用域
print("Hello, World!")  # print 是內(nèi)置函數(shù)
len([1, 2, 3])         # len 是內(nèi)置函數(shù)
max(1, 2, 3)           # max 是內(nèi)置函數(shù)

常用的內(nèi)置函數(shù)分類

數(shù)學函數(shù)

# 數(shù)值計算
print(abs(-5))      # 絕對值: 5
print(round(3.14159, 2))  # 四舍五入: 3.14
print(pow(2, 3))    # 冪運算: 8
print(divmod(10, 3)) # 商和余數(shù): (3, 1)

類型轉(zhuǎn)換

# 類型轉(zhuǎn)換函數(shù)
print(int("123"))    # 字符串轉(zhuǎn)整數(shù): 123
print(float("3.14")) # 字符串轉(zhuǎn)浮點數(shù): 3.14
print(str(123))      # 轉(zhuǎn)字符串: "123"
print(bool(0))       # 轉(zhuǎn)布爾值: False

輸入輸出

# 輸入輸出函數(shù)
name = input("請輸入你的名字: ")
print(f"你好, {name}!")

# # 文件操作
with open('text.txt', 'w') as f:
        f.write("Hello, World!")

內(nèi)置異常

# 常見內(nèi)置異常
try:
    x = 1 / 0
except ZeroDivisionError as e:  # ZeroDivisionError是內(nèi)置異常
    print(f"捕獲到異常: {e}")
# 其他常見內(nèi)置異常
builtin_exceptions = [
    'ArithmeticError', 'AssertionError', 'AttributeError',
    'EOFError', 'ImportError', 'IndexError', 'KeyError',
    'KeyboardInterrupt', 'NameError', 'TypeError', 'ValueError'
]

5.變量遮蔽問題

當不同作用域有同名變量時,內(nèi)部作用域的變量會"遮蔽"外部作用域的變量。

x = "global"
def test():
    x = "local"  # 遮蔽了全局變量x
    print(x)     # 輸出: local
test()
print(x)         # 輸出: global

6.修改作用域的關(guān)鍵字

global 關(guān)鍵字

用于在函數(shù)內(nèi)部修改全局變量。

x = 10
def modify_global():
    global x
    x = 20  # 修改全局變量
modify_global()
print(x)  # 輸出: 20

nonlocal關(guān)鍵字

用于在嵌套函數(shù)中修改外部函數(shù)的變量。

def outer():
    x = 10
    def inner():
        nonlocal x
        x = 20  # 修改外部函數(shù)的變量
    inner()
    print(x)  # 輸出: 20
outer()

到此這篇關(guān)于Python變量作用域(四個主要作用域)的文章就介紹到這了,更多相關(guān)Python變量作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解Python中的可迭代對象與迭代器

    一文詳解Python中的可迭代對象與迭代器

    在Python編程中,可迭代對象和迭代器是兩個經(jīng)常被混淆的概念,但它們在實際開發(fā)中扮演著不同的角色,理解它們的區(qū)別,能幫助我們更高效地處理數(shù)據(jù)序列,避免常見的錯誤,本文通過代碼示例和實際場景,詳細解析這兩者的定義、用法和差異,需要的朋友可以參考下
    2025-10-10
  • python 遞歸調(diào)用返回None的問題及解決方法

    python 遞歸調(diào)用返回None的問題及解決方法

    這篇文章主要介紹了python 遞歸調(diào)用返回None的問題,本文通過實例代碼給大家記錄了解決方案,代碼簡單易懂,非常不錯對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python創(chuàng)建exe運行器和截圖工具的示例詳解

    Python創(chuàng)建exe運行器和截圖工具的示例詳解

    本文我們將探討如何使用Python和wxPython創(chuàng)建一個強大而實用的桌面應(yīng)用程序,可以遍歷指定文件夾中的所有EXE文件,感興趣的小伙伴可以了解一下
    2024-10-10
  • python網(wǎng)絡(luò)爬蟲基于selenium爬取斗魚直播信息

    python網(wǎng)絡(luò)爬蟲基于selenium爬取斗魚直播信息

    目前是直播行業(yè)的一個爆發(fā)期,由于國家對直播行業(yè)進行整頓和規(guī)范,現(xiàn)在整個直播行業(yè)也在穩(wěn)固發(fā)展。隨著互聯(lián)網(wǎng)和網(wǎng)絡(luò)直播市場的快速發(fā)展,相信未來還有廣闊的發(fā)展前景。今天用selenium爬取一下斗魚直播信息將代碼分享給大家
    2022-03-03
  • Django中提示消息messages的設(shè)置方式

    Django中提示消息messages的設(shè)置方式

    今天小編就為大家分享一篇Django中提示消息messages的設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 學習python類方法與對象方法

    學習python類方法與對象方法

    這篇文章主要和大家一起學習python類方法與對象方法,從一個簡單例子出發(fā)進行學習,感興趣的小伙伴們可以參考一下
    2016-03-03
  • python matplotlib.pyplot.plot()參數(shù)用法

    python matplotlib.pyplot.plot()參數(shù)用法

    這篇文章主要介紹了python matplotlib.pyplot.plot()參數(shù)用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python TKinter彈出式菜單的實例方法

    python TKinter彈出式菜單的實例方法

    在本篇文章里小編給大家整理了一篇關(guān)于python TKinter彈出式菜單的實例方法及相關(guān)代碼,有需要的朋友們可以學習下。
    2021-10-10
  • 關(guān)于Python參數(shù)解析器argparse的應(yīng)用場景

    關(guān)于Python參數(shù)解析器argparse的應(yīng)用場景

    這篇文章主要介紹了關(guān)于Python參數(shù)解析器argparse的應(yīng)用場景,argparse 模塊使編寫用戶友好的命令行界面變得容易,程序定義了所需的參數(shù),而 argparse 將找出如何從 sys.argv 中解析這些參數(shù),需要的朋友可以參考下
    2023-08-08
  • Python內(nèi)置函數(shù)的用法實例教程

    Python內(nèi)置函數(shù)的用法實例教程

    這篇文章主要介紹了Python內(nèi)置函數(shù)的用法,包括求絕對值的abs()函數(shù)及數(shù)值類型轉(zhuǎn)換函數(shù)等,需要的朋友可以參考下
    2014-09-09

最新評論

曲阜市| 安泽县| 镇原县| 宜兰县| 华安县| 武胜县| 扎赉特旗| 三门峡市| 喀喇沁旗| 洞头县| 凉山| 美姑县| 阜阳市| 华蓥市| 马边| 玛沁县| 南汇区| 霍林郭勒市| 射洪县| 藁城市| 乃东县| 武功县| 六枝特区| 沁水县| 边坝县| 北辰区| 周至县| 读书| 县级市| 鹤山市| 乌兰浩特市| 浮梁县| 贵南县| 宣恩县| 策勒县| 清新县| 马边| 宁乡县| 沿河| 河北省| 南陵县|