c语言中有函数内部的静态变量,可以使得在调用函数时,变量的值为上一次退出该函数时变量的值,python中也有办法实现同样的功能,示例代码如下:
def test():
if ( not hasattr(test,'x') ): #hasattr函数的第一个变量为当前函数名,第二个为变量名,加单引号
test.x = 0 #注意之后使用这个变量时一定要在变量名前加 函数名.
print(test.x) #同上行
test.x += 1 #同上行
test()
test()
test()
test()
运行结果如下:
但是原因不太懂。
除了函数中的静态变量以外,还有函数中的静态类,链接如下:
https://www.cnblogs.com/weiyinfu/p/7927331.html