【发布时间】:2014-08-26 05:26:42
【问题描述】:
使用 LearnPythonTheHardWay 中的 ex43.py(制作游戏)进行实验,并使用 time.sleep() 在事件之间创建暂停。为了启用和禁用该功能,或更改暂停的长度,我只是在class Engine() 中保存了一个变量,该变量在整个程序中对time.sleep() 的调用中被引用。
所以:
import time
class Engine(object):
sleep1 = 1
#some methods
def say_hello(self, exit):
self.exit = exit
print "Hello"
time.sleep(Engine.sleep1)
self.exit.say_goodbye()
class Another(object):
def say_goodbye(self):
print "ok"
time.sleep(Engine.sleep1)
print "goodbye."
me = Engine()
bye = Another()
me.say_hello(bye)
问题是,如果我希望time.sleep(1) 可用于各种类的多个方法,是否需要将它作为参数传递给每个需要它的方法:
import time
class Engine(object):
sleep1 = 1
#some methods
def say_hello(self, exit):
self.exit = exit
print "Hello."
time.sleep(Engine.sleep1)
pause = time.sleep
self.exit.say_goodbye(pause)
class Another(object):
def say_goodbye(self, pause):
self.pause = pause
print "ok"
self.pause(Engine.sleep1)
print "goodbye."
me = Engine()
bye = Another()
me.say_hello(bye)
为了只有一个地方可以设置暂停的长度,是否对从任何方法简单调用time.sleep(Class.var) 进行改进?
【问题讨论】:
标签: python class variables methods time