中的功能Python可以嵌套在其他函數中。
在函數內部定義的函數僅在該函數內部可見。
這對於創建對某個功能有用但在其外部沒有用的實用程序很有用。
您可能會問:如果不損害此功能,為什麼我應該“隱藏”該功能?
第一,因為最好總是隱藏某個函數本地的功能,而在其他地方則無用。
另外,因為我們可以使用閉包(稍後將對此進行更多介紹)。
這是一個例子:
def talk(phrase):
def say(word):
print(word)
words <span style="color:#f92672">=</span> phrase<span style="color:#f92672">.</span>split(<span style="color:#e6db74">' '</span>)
<span style="color:#66d9ef">for</span> word <span style="color:#f92672">in</span> words:
say(word)
talk(‘I am going to buy the milk’)
如果要從內部函數訪問外部函數中定義的變量,則首先需要將其聲明為nonlocal
:
def count():
count = 0
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">increment</span>():
nonlocal count
count <span style="color:#f92672">=</span> count <span style="color:#f92672">+</span> <span style="color:#ae81ff">1</span>
<span style="color:#66d9ef">print</span>(count)
increment()
count()
這在關閉時特別有用,我們將在後面看到。
更多python教程:
- Python簡介
- 在macOS上安裝Python 3
- 運行Python程序
- Python 2和Python 3
- 使用Python的基礎
- Python數據類型
- Python運算子
- Python字符串
- Python布爾值
- Python數字
- Python,接受輸入
- Python控制語句
- Python列表
- Python元組
- Python集
- Python字典
- Python函數
- Python對象
- Python循環
- Python模塊
- Python類
- Python標準庫
- 調試Python
- Python變量範圍
- Python,從命令行接受參數
- Python遞歸
- Python嵌套函數
- Python Lambda函數
- Python閉包
- Python虛擬環境
- 使用Python將GoPro用作遠程網絡攝像頭
- Python,如何從字符串創建列表
- Python裝飾器
- Python Docstrings
- Python自省
- Python註釋
- Python,如何列出目錄中的文件和文件夾
- Python,如何檢查數字是否為奇數或偶數
- Python,如何獲取文件的詳細信息
- Python,如何檢查文件或目錄是否存在
- Python異常
- Python,如何創建目錄
- Python,如何創建一個空文件
- Python,`with`語句
- Python,創建網絡請求
- Python,使用`pip`安裝第三方軟件包
- Python,讀取文件內容