兄弟連學python》內部函式

2021-08-13 10:32:30 字數 1353 閱讀 8968

內部函式

在函式內部宣告的函式就是內部函式。

格式:def 函式名():

區域性變數…

def 內部函式名():

python功能**…

示例:def funname():

name = 『dragon』

#定義乙個內部函式

def inner():

print(『我是內部函式』)

」』注釋:

1.內部函式的本質就是區域性變數(函式就是乙個變數)

2.內部函式在函式外部不可以直接呼叫

3.內部函式在函式內部呼叫(當然,必須要定義內部函式之後才能呼叫)

」』 閉包

使用特定或特殊的方式,將區域性變數(內部函式)引入到全域性環境中使用,這就是閉包操作。

閉包方法1:

def 函式名():

區域性變數…

def 內部函式名():

pass

return (區域性變數,內部函式…)

閉包方法2:

def 函式名():

區域性變數

def 內部函式名():

pass

#獲取所有需要進行閉包操作的函式和變數

defall():

return(區域性變數,內部函式…)

return all

閉包原理:

閉包的優缺點:

優點:

1.可以方便的進行函式式程式設計,組織程式**

2.使內部函式和區域性變數在外部可以訪問

缺點:

1.閉包操作會導致整個函式的內部環境,被長久儲存,占用大量記憶體。

閉包環境檢視:closure

用於查詢當前閉包操作所使用的環境中的變數和內部函式等資訊。

nonlocal

nonlocal關鍵字的意義,不是區域性變數,當然他也不是全域性變數,通常用於內部函式中使用外部函式的區域性變數。

def outer():

#宣告乙個變數(肯定不是全域性變數)

x = 5

#宣告乙個內部函式

def inner():

nonlocal x #宣告x不是區域性變數

x += 9

print(x)

#呼叫函式

inner()

outer()

」』注釋:

如果內部函式想使用全域性變數,那麼應該使用global宣告變數

(函式最外層的全域性變數)

如果內部函式使用的是外部函式的區域性變數,那麼應該使用nonlocal宣告

(內部函式的外層,外部函式的區域性變數)

」』

兄弟連學python(4) 內部函式

在函式內部宣告的函式就是內部函式。格式 def 函式名 區域性變數.def 內部函式名 python功能 示例 def funname name dragon 定義乙個內部函式 definner print 我是內部函式 注釋 1.內部函式的本質就是區域性變數 函式就是乙個變數 2.內部函式在函式外...

兄弟連學python》列表操作

一組有序資料的組合就是列表 建立列表 空列表方式1 變數 方式2 變數 list 具有乙個資料的列表 變數 值 備註 列表中儲存的每個都稱之為元素 具有多個資料的列表 變數 值,值,值 普通操作 訪問列表中的元素 變數 索引 修改列表中的元素 變數 索引 新值 新增列表元素 普通操作無法實現,需要借...

兄弟連學python(3) 函式文件

函式文件就是用來檢視當前函式相關資訊介紹的乙個特定格式而已。檢視函式文件的方法 help 函式名 此方法會直接輸出函式文件的內容 函式名.doc 直接輸出顯示函式文件的內容元字串 可以使用print 函式名.doc 來解決無格式問題 定義函式文件的方法 def 函式名 引數 這裡編寫函式文件 這裡編...