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

溫馨提示×

溫馨提示×

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

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

Python函數命名空間和作用域是什么

發布時間:2022-03-08 13:41:44 來源:億速云 閱讀:112 作者:小新 欄目:開發技術

這篇文章主要介紹Python函數命名空間和作用域是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.Local作用域

a = 100
def func5():
    b = 50
    a = 99
    print('函數內a', a)
    print('函數內b', b)

print('函數外a', a)
func5()
print('函數外b', b)

返回結果:

函數外a 100
函數內a 99
函數內b 50
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/python知識總結/2.python自學網-通用模塊-視頻源碼/test.py", line 12, in <module>
    print('函數外b', b)
NameError: name 'b' is not defined

上面函數中定義b變量,所以外面無法輸出。

2.Enclosing function locals作用域

a = 100
def func5():
    b = 50
    print('函數內a', a)
    print('函數內b', b)
    def func6():
        print('下層函數內a', a)
        print('下層函數內b', b)
    func6()
func5()

返回結果:

函數內a 100
函數內b 50
下層函數內a 100
下層函數內b 50

3.Global全局變量

a = 123
def func():
    a = 100
    print(a)
print(a)
func()
print(a)

a = 123
def func():
    global a  # 這里不能使用nonlocal
    a = 100
    print(a)
    print(locals())  # 查看局部變量
    print(globals())  # 查看全局變量
print(a)
func()
print(a)

4.非局部變量nonlocal

def func5():
    b = 50
    print(b)
    def func6():
        nonlocal b  # 非局部的,只適用于閉包內部
        b = 60
        print(b)
    func6()
    print(b)
func5()

5.就近原則

b = 1111
def func5():
    b = 50
    print(b)
    def func6():
        b = 60
        print(b)  # 這里的b從內到外究竟查找
    func6()
    print(b)
func5()


a = 100
def func5():
    b = 50
    print(a)
    print(b)
    def func6():
        b = 60
        print(b)
        print(a)
func5()

6.函數執行順序

a = 123
def func1():
    print(a)
    print(b)
func1()  # 不能打印b
b = 456
func1()  # 可以打印b

7.循環、判斷代碼塊中作用域問題

if True:
    a = 100
print(a)


for i in range(1, 10):
    print(i)
print(i)

循環代碼塊中沒有作用域這樣的情況。

以上是“Python函數命名空間和作用域是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武邑县| 盐池县| 周口市| 三门峡市| 长子县| 镇沅| 宜良县| 那坡县| 许昌市| 铁岭县| 同德县| 揭东县| 东丰县| 山东| 诸暨市| 东宁县| 张掖市| 高淳县| 富平县| 桓仁| 营口市| 从化市| 北川| 区。| 乐东| 焦作市| 齐河县| 博湖县| 新闻| 冷水江市| 泸溪县| 横峰县| 华亭县| 蒙阴县| 宣城市| 育儿| 玉山县| 英山县| 台州市| 广西| 双牌县|