python如何实现静态变量?

2020年2月1日 / 53次阅读 / Last Modified 2020年2月1日

我在记录自己学习python函数闭包特性的时候,提到可以通过闭包的方式来实现函数的静态变量。

其实,我觉得在python中实现静态变量,最简单的方式就是用一个全局变量。静态变量这个概念来自C语言,这种静态变量的特征是,(1)只能被特定的那个函数访问;(2)变量值保存在.data区,因此静态变量的值不会因为函数执行结束而消失,并且在下次函数被调用时,体现出上一次的“记忆”。

如果我们用一个全局变量,并且只在某一个函数内通过global申明并使用此全局变量,这个全局变量,实际上也跟静态变量是一样的了!因此,python中没有专门的静态变量,就可以理解,没有必要呀!

除了闭包和全局变量,用类的方式也可以实现静态变量的效果。用一个对象的属性来实现静态变量的效果,也是很简单可行的。

其实,我觉得跟重要的是,不要被C语言的静态变量这个概念限制住,关注要实现的功能,用python提供的机制,不要纠结概念!

-- EOF --

本文链接:https://www.pynote.net/archives/1773

相关文章

    留言区

    电子邮件地址不会被公开。 必填项已用*标注


    前一篇:
    后一篇:

    More


    ©Copyright 麦新杰 Since 2019 Python笔记

    go to top