python类成员_Python的类成员和对象成员
Python中有個類成員的概念,絕對是困擾新手的問題??纯聪旅娴拇a就知道兩者的區別了。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
from datetime import datetime
class Worker:
def working(self):
print self
for i in xrange(3):
print datetime.now().strftime('%H:%M:%S')
time.sleep(1)
class Bundle:
_worker = None
name = ''
def __init__(self, name = ''):
self.name = name
@property
def worker(self):
if self._worker is None:
#兩個不同worker對象
self._worker = Worker()
#同一個worker對象,但如果是不同進程的worker對象肯定不同
#self.__class__._worker = Worker()
return self._worker
def run(self):
print self.name
self.worker.working()
if __name__ == '__main__':
b1, b2 = Bundle('b1'), Bundle('b2')
b1.run()
b2.run()
為什么要弄出個怪異的類成員,記得Python中一切都是對象嗎,類和函數也是對象。Python創建對象時,是用的和IoLang一樣的原型設計模式,將類對應復制一份,再在其基礎上修改得到對象;和Java的基于類模板創建對象的方式有些不同,所以Python的__init__()叫做初始化方法,而不是構造函數,它控制的就是剛才所說修改這部分行為。
總結
以上是生活随笔為你收集整理的python类成员_Python的类成员和对象成员的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive 行转列和列转行的方法_读离线和
- 下一篇: pip安装ipython_Python