文章詳情頁(yè)
python - 不理解函數(shù)作用域
瀏覽:100日期:2022-08-10 13:34:39
問題描述
def f(p, k): def g():print(k) if k == 0:f(g, 1) else:p()f(None, 0)
我覺得在f(None, 0)執(zhí)行后,執(zhí)行到f(g, 1)后k應(yīng)該是1,但為什么執(zhí)行還是0.
問題解答
回答1:這應(yīng)該屬于閉包,我們可以把這段函數(shù)改一下
def f(k): def g():print(k) return ga = 1x = f(a)a = 2x()# 打印出# 1
這樣會(huì)不會(huì)更好理解一些呢可以看看這篇博客,他在底層說(shuō)明了閉包的原理Python閉包詳解
上一條:python - 用BeautifulSoup如何提取data-lazy-src屬性?下一條:python - 抓取一個(gè)代理ip網(wǎng)頁(yè),使用cookie但是報(bào)錯(cuò)
相關(guān)文章:
1. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!2. dockerfile - [docker build image失敗- npm install]3. docker - 如何修改運(yùn)行中容器的配置4. javascript - nodejs調(diào)用qiniu的第三方資源抓取,返回401 bad token,為什么5. docker不顯示端口映射呢?6. 為什么我ping不通我的docker容器呢???7. nignx - docker內(nèi)nginx 80端口被占用8. docker綁定了nginx端口 外部訪問不到9. angular.js - angular內(nèi)容過長(zhǎng)展開收起效果10. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?
排行榜

熱門標(biāo)簽