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

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

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

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

四種主要作用域

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

1. 局部作用域

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

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

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

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

3. 全局作用域

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

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ù)、異常和對(duì)象,如print(), len(), True等

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

# 這些函數(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ù)學(xué)函數(shù)

# 數(shù)值計(jì)算
print(abs(-5))      # 絕對(duì)值: 5
print(round(3.14159, 2))  # 四舍五入: 3.14
print(pow(2, 3))    # 冪運(yùn)算: 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)浮點(diǎn)數(shù): 3.14
print(str(123))      # 轉(zhuǎn)字符串: "123"
print(bool(0))       # 轉(zhuǎn)布爾值: False

輸入輸出

# 輸入輸出函數(shù)
name = input("請(qǐng)輸入你的名字: ")
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.變量遮蔽問題

當(dāng)不同作用域有同名變量時(shí),內(nèi)部作用域的變量會(huì)"遮蔽"外部作用域的變量。

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變量作用域(四個(gè)主要作用域)的文章就介紹到這了,更多相關(guān)Python變量作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解Python中的可迭代對(duì)象與迭代器

    一文詳解Python中的可迭代對(duì)象與迭代器

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

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

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

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

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

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

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

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

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

    學(xué)習(xí)python類方法與對(duì)象方法

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

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

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

    python TKinter彈出式菜單的實(shí)例方法

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

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

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

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

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

最新評(píng)論

晴隆县| 长沙县| 上犹县| 邢台市| 东平县| 南陵县| 天峻县| 靖远县| 开平市| 金川县| 兰溪市| 罗城| 旅游| 运城市| 灵丘县| 涪陵区| 遂溪县| 澎湖县| 嘉祥县| 汉阴县| 图们市| 马公市| 邓州市| 托克逊县| 光山县| 金湖县| 商南县| 太湖县| 常德市| 墨竹工卡县| 沙河市| 兰溪市| 芒康县| 进贤县| 泸定县| 株洲县| 鄢陵县| 英吉沙县| 阿克陶县| 忻州市| 修文县|