久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python - 不理解函數作用域

瀏覽:119日期: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)執行后,執行到f(g, 1)后k應該是1,但為什么執行還是0.

問題解答

回答1:

這應該屬于閉包,我們可以把這段函數改一下

def f(k): def g():print(k) return ga = 1x = f(a)a = 2x()# 打印出# 1

這樣會不會更好理解一些呢可以看看這篇博客,他在底層說明了閉包的原理Python閉包詳解

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 东辽县| 湾仔区| 蛟河市| 抚顺市| 文山县| 上栗县| 安塞县| 五大连池市| 阜新| 西林县| 交城县| 垫江县| 巴彦淖尔市| 寿宁县| 淮滨县| 武定县| 靖宇县| 玛多县| 凌源市| 麻城市| 冕宁县| 扎兰屯市| 和静县| 湾仔区| 嘉义市| 综艺| 西林县| 安丘市| 新乡县| 邹平县| 新兴县| 乐清市| 佳木斯市| 阿城市| 株洲市| 克什克腾旗| 泾川县| 瑞安市| 东安县| 交口县| 吉水县|