亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python函數(shù)命名空間和作用域(Local與Global)

 更新時間:2022年03月08日 10:22:50   作者:?python自學網(wǎng)  
這篇文章主要介紹了Python函數(shù)命名空間和作用域分別介紹Local與Global模式,內(nèi)容詳細,具有一定的參考價值,需要的小伙伴可以參考一下

摘要:

Python函數(shù)是一個包裝起來的代碼塊,通過前面的返回函數(shù),閉包函數(shù)等課程,我們發(fā)現(xiàn)其內(nèi)部變量定義在不同的位置,使用起來的效果就有所不同,這就是python函數(shù)的作用域和命名空間。

1.Local作用域

a = 100
def func5():
? ? b = 50
? ? a = 99
? ? print('函數(shù)內(nèi)a', a)
? ? print('函數(shù)內(nèi)b', b)

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

返回結果:

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

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

2.Enclosing function locals作用域

a = 100
def func5():
? ? b = 50
? ? print('函數(shù)內(nèi)a', a)
? ? print('函數(shù)內(nèi)b', b)
? ? def func6():
? ? ? ? print('下層函數(shù)內(nèi)a', a)
? ? ? ? print('下層函數(shù)內(nèi)b', b)
? ? func6()
func5()

返回結果:

函數(shù)內(nèi)a 100
函數(shù)內(nèi)b 50
下層函數(shù)內(nèi)a 100
下層函數(shù)內(nèi)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 ?# 非局部的,只適用于閉包內(nèi)部
? ? ? ? b = 60
? ? ? ? print(b)
? ? func6()
? ? print(b)
func5()

5.就近原則

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


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

6.函數(shù)執(zhí)行順序

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

7.循環(huán)、判斷代碼塊中作用域問題

if True:
? ? a = 100
print(a)


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

循環(huán)代碼塊中沒有作用域這樣的情況。

到此這篇關于Python函數(shù)命名空間和作用域(Local與Global)的文章就介紹到這了,更多相關Python命名空間和作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在pyCharm中下載第三方庫的方法

    在pyCharm中下載第三方庫的方法

    這篇文章主要介紹了在pyCharm中下載第三方庫的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 在Python中操作文件之seek()方法的使用教程

    在Python中操作文件之seek()方法的使用教程

    這篇文章主要介紹了在Python中操作文件之seek()方法的使用教程,是Python入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • python讀取json數(shù)據(jù)還原表格批量轉換成html

    python讀取json數(shù)據(jù)還原表格批量轉換成html

    這篇文章主要介紹了python讀取json數(shù)據(jù)還原表格批量轉換成html,由于需要對ocr識別系統(tǒng)的表格識別結果做驗證,通過返回的json文件結果對比比較麻煩,故需要將json文件里面的識別結果還原為表格做驗證,下面詳細內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • 淺析Python 實現(xiàn)一個自動化翻譯和替換的工具

    淺析Python 實現(xiàn)一個自動化翻譯和替換的工具

    這篇文章主要介紹了Python 實現(xiàn)一個自動化翻譯和替換的工具,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Python利用PyAutoGUI實現(xiàn)自動點贊

    Python利用PyAutoGUI實現(xiàn)自動點贊

    PyAutoGUI作為一個 GUI 操作的神器,我們看到了它的操作都很簡單,非常通俗易懂,基本上看到函數(shù)就能知道它的功效。本文將用它實現(xiàn)批量給知乎的文章點贊,感興趣的可以了解一下
    2022-06-06
  • Python restful框架接口開發(fā)實現(xiàn)

    Python restful框架接口開發(fā)實現(xiàn)

    這篇文章主要介紹了Python restful框架接口開發(fā)實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • conda虛擬環(huán)境下使用pyinstaller打包程序為exe文件全過程

    conda虛擬環(huán)境下使用pyinstaller打包程序為exe文件全過程

    pyinstaller是一個支持跨平臺使用的第三方庫,它可以將腳本執(zhí)行所需的模塊和庫,自動分析、收集并生成一個文件夾或者可執(zhí)行文件,這篇文章主要給大家介紹了關于conda虛擬環(huán)境下使用pyinstaller打包程序為exe文件的相關資料,需要的朋友可以參考下
    2023-12-12
  • pytorch使用voc分割數(shù)據(jù)集訓練FCN流程講解

    pytorch使用voc分割數(shù)據(jù)集訓練FCN流程講解

    這篇文章主要介紹了pytorch使用voc分割數(shù)據(jù)集訓練FCN流程,圖像分割發(fā)展過程也經(jīng)歷了傳統(tǒng)算法到深度學習算法的轉變,傳統(tǒng)的分割算法包括閾值分割、分水嶺、邊緣檢測等等
    2022-12-12
  • 詳解python 字符串和日期之間轉換 StringAndDate

    詳解python 字符串和日期之間轉換 StringAndDate

    這篇文章主要介紹了python 字符串和日期之間轉換 StringAndDate簡單實例的相關資料,需要的朋友可以參考下
    2017-05-05
  • 本地文件上傳到七牛云服務器示例(七牛云存儲)

    本地文件上傳到七牛云服務器示例(七牛云存儲)

    這篇文章主要介紹了使用PYTHON把本地文件上傳到七牛云服務的方法,開發(fā)環(huán)境是Python 2.7,大家參考使用吧
    2014-01-01

最新評論