如何使一个类继承python中另一个类的方法,同时只更改某个方法的某些部分?

如何使一个类继承python中另一个类的方法,同时只更改某个方法的某些部分?,python,python-2.7,oop,inheritance,Python,Python 2.7,Oop,Inheritance,例如: 我有一个名为“microdcard”的类,这个类继承自一个名为“MemoryCard”的类,但它们之间有一个变化。microdcard可以获得另一个称为Frequency的值,应该使用类似于“self.max\u freq”的init方法重新计算它。我怎样才能做到? 提前感谢您举个例子: class MemoryCard(object): def __init__(self, size): print ('MemoryCard size is ', size)

例如: 我有一个名为“microdcard”的类,这个类继承自一个名为“MemoryCard”的类,但它们之间有一个变化。microdcard可以获得另一个称为Frequency的值,应该使用类似于“self.max\u freq”的init方法重新计算它。我怎样才能做到? 提前感谢您

举个例子:

class MemoryCard(object):
    def __init__(self, size):
        print ('MemoryCard size is ', size)

class MicroSDCard(MemoryCard):
    def __init__(self, max_freq, *args, **kw):
        MemoryCard.__init__(self, *args, **kw)
        self.max_freq = max_freq


print ("MicroSDCard max_freq is ", MicroSDCard(5, size=3).max_freq)

也许我没有正确地理解你,但我会做以下事情:

  • 使用新属性在
    microdcard
    类中重新编写
    \uuuuuu init\uuuuu
    方法
  • 对于使用此新属性的任何方法,都需要在
    microdcard
    类定义中重新写入(重载)它

  • 这看起来太简单了,所以我想我没有明白你的问题:)

    你试过使用“超级”功能吗?非常感谢!但是你能解释一下“*args,**kw”的含义吗?这与内存卡有什么关系?@Gal Cesana这叫做参数打包/解包。请看@Gal Cesana Sababa,请投票/接受答案,,,