从python中的基类继承namedtuple

Gün*_*ena 5 python inheritance namedtuple

是否可以生成namedtuple从基类继承的 a?

我想要的是Circleand Rectangleare namedtuples 并且是从一个公共基类 ('Shape') 继承的:

from collections import namedtuple

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

Circle=namedtuple('Circle', 'x y radius')
Rectangle=namedtuple('Rectangle', 'x1 y1 x2 y2')
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

And*_*ini 6

你可以试试这个:

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

    pass
Run Code Online (Sandbox Code Playgroud)

(您应该考虑添加__slots__到所有三个类中以节省内存并实现更快的查找速度。)