我有几个逻辑进程实现在同一个类中。
一个类实例为每个进程获取一个生成器,run()
推进这些生成器。在我的情况下,生成器不会结束。
在下面的代码中,你会如何称呼 foo_function 和 foo_object?
class C(threading.Thread):
def foo_function(self):
""" generator *function*,
logical process foo """
while True:
# some state checks
if self.some_attr:
# side-effects here
pass
yield
def __init__(self):
# generator *object*
# i.e. process instance
self.foo_object = self.foo_function() # <- here
def run(self):
while True:
next(self.foo_object)
next(self.another_object)
if xxx:
next(self.yet_another_object)
典型的过程包括“发现(discovery)”,“认证(authentication)”,“看门狗(watchdog)”等。
我应该如何为定义生成器(generator)和包含生成器对象的属性(attribute)命名一个合理的函数?
最后,同样的名称会让人感到疯狂,对吧?
class C:
def foo(self):
yield 1; yield 2
def __init__(self):
self.foo = self.foo()
c = C()
type(C.foo) is function
type(c.foo) is generator