class CFT(object):
self.c3prarea = numpy.zeros(shape=(5, 5))
self.c4prarea = numpy.zeros(shape=(5, 5))
self.c5prarea = numpy.zeros(shape=(5, 5))
在上面的课程中,我想将3个成员组合在一起,以便我可以迭代它们。最好的方法是什么:
ll = [self.c3prarea, self.c4prarea, self.c5prarea]
,或者
,或者
- 编辑基于@ 9000的soln,试图使用命名元组:
self.CFT_names = collections.namedtuple('CFT_names', 'c3prarea c4prarea c5prarea')
self.c3prarea = numpy.zeros(shape=(5, 5))
答案 0 :(得分:1)
我使用元组:
class Foo(object):
def __init__(self):
self.bars = (numpy.zeros(shape=(5, 5)),...) # however many you need
为什么是元组:
namedtuple
。此外,这个3元组可能本身就是一个简单的类,它自己的方法不依赖于原始CTF
类的其他部分。如果是这样,那值得考虑;您可以直接使用tuple
作为基类。