一、模拟静态变量
学习链接
2.python的类中,如何定义静态变量和非静态变量?? - yegle的回答 - 知乎
https://www.zhihu.com/question/25874136/answer/31624463
二、 进一步学习nonlocal关键字
学习链接:
1.Python nonlocal 关键字 (w3school.com.cn)
nonlocal 关键字用于在嵌套函数内部使用变量,其中变量不应属于内部函数。(摘自链接)
2.python中global和nonlocal用法的详细说明 - 初识CV的文章 - 知乎
https://zhuanlan.zhihu.com/p/341378844
两者的功能不同。global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)(摘自链接)
链接文章的3.1的代码和4的代码需要注意一下。3.1代码中“make_counter()”函数中的“return count”返回的是函数对象,所以在“make_counter_test()”函数中的语句:
# 链接文章代码 侵权删
mc = make_counter()
print(mc())
mc是count()函数,所以mc()调用的是count()函数。
感谢你看到这里!一起加油吧!