python 使用对象和装饰器而不是仅使用一个方法和一些常量的类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用对象和装饰器而不是仅使用一个方法和一些常量的类相关的知识,希望对你有一定的参考价值。
class Job(object):
def __init__(self, run_at):
self.run_at = run_at
print "Scheduled at %s" % run_at
def _func(self, job):
raise NotImplementedError
def run(self, func=None):
if func is not None:
self._func = func
return func
return self._func(self)
class Job(object):
run_at = None
def __init__(self):
print "Scheduled at %s" % self.run_at
def run(self):
raise NotImplementedError
from job_object import Job
def delete_expired_stuff(time):
print "Delete expired stuff before %s" % time
job = Job(run_at='05:00')
@job.run
def do_cleanup(job):
delete_expired_stuff(job.run_at)
if __name__ == '__main__':
job.run()
from job_class import Job
def delete_expired_stuff(time):
print "Delete expired stuff before %s" % time
class CleanupJob(Job):
# configuration: run at 5am
run_at = '05:00'
# implementation: nuke expired sessions
def run(self):
delete_expired_stuff(self.run_at)
if __name__ == '__main__':
CleanupJob().run()
以上是关于python 使用对象和装饰器而不是仅使用一个方法和一些常量的类的主要内容,如果未能解决你的问题,请参考以下文章
python 使用此包装器而不是崩溃从函数中获取默认输出。
我啥时候应该使用装饰器?
Python - 函数属性方法装饰器
python 装饰器总结
python -- 迭代器和装饰器
第十篇:装饰器