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

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

python - 不理解函數作用域

瀏覽:113日期: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 編程
相關文章:
主站蜘蛛池模板: 高碑店市| 岳阳县| 农安县| 延吉市| 乌恰县| 垣曲县| 沾益县| 青河县| 贵德县| 百色市| 台山市| 武强县| 隆子县| 登封市| 吉安市| 常熟市| 曲靖市| 赣州市| 比如县| 鄂托克前旗| 浙江省| 共和县| 垣曲县| 霍山县| 尼玛县| 镇原县| 长宁区| 锡林郭勒盟| 桃江县| 水城县| 深泽县| 孟连| 图们市| 朔州市| 巨鹿县| 鹿泉市| 石渠县| 德格县| 莱阳市| 徐汇区| 仁怀市|