Python中如何实现静态代码块功能

Linius 发布于 2011/06/16 08:25
阅读 1K+
收藏 0

请问,Python如何实现静态代码块功能,即只在第一次时执行,之后不再执行。

加载中
0
ValueError
ValueError

写在类的外面就行了

Python 导入过一次的包是不会被重复导入的

也可以在类里面写一个类方法,然后外部调用

class Spam(object):
    @classmethod
    def static_init(cls):
        pass

Spam.static_init()
1
asdfsx
asdfsx

支持写在类外边

python有时候当做一个shell脚本就可以了

0
ValueError
ValueError

引用来自“asdfsx”的答案

支持写在类外边

python有时候当做一个shell脚本就可以了

我后来想了一下,其实写类方法比写在外面多两个好处:

  1. 代码界限清晰,对类的初始化应该属于类
  2. 如果类中使用了 __ 开头的成员,就会被 private(改名)。写在 class method 里面可以直接通过 cls 访问。
不过这种 static init 貌似在 Python 里面很少用啊。因为 Python 都可以直接这样了:

class Spam(object):pass

class Eggs(object):
    spam = Spam()
ValueError
ValueError
@Linius: 不客气 ^ ^
Linius
Linius
恩,谢谢你的回答,很有帮助!
0
asdfsx
asdfsx

看具体需要吧......

另外可以看看google的那份关于python的编码规范,对写python很有帮助

 

返回顶部
顶部