2016-08-23 85 views
2

是否可以生成從基類繼承的namedtuple從python中的基類繼承namedtuple

我想那是什麼CircleRectanglenamedtuple S和公共基類(「形」)繼承:

from collections import namedtuple 

class Shape: 
    def addToScene(self, scene): 
     ... 

Circle=namedtuple('Circle', 'x y radius') 
Rectangle=namedtuple('Rectangle', 'x1 y1 x2 y2') 

我會怎麼做呢?

回答

2

你可以試試這個:

class Circle(Shape, namedtuple('Circle', 'x y radius')): 

    pass 

(你應該考慮增加__slots__到所有三類以節省內存和悅目更快的查找。)