草庐IT

subClass

全部标签

python - 覆盖父类的方法

我看到人们一直在做的事情是:classMan(object):defsay_hi(self):print('Hello,World.')classExcitingMan(Man):defsay_hi(self):print('Wow!')super(ExcitingMan,self).say_hi()#Callingtheparentversiononcedonewithcustomstuff.我从未见过人们做的事情是:classMan(object):defsay_hi(self):print('Hello,World.')classExcitingMan(Man):defsay_h

python - 避免在子类中指定所有参数

我有一个类:classA(object):def__init__(self,a,b,c,d,e,f,g,...........,x,y,z)#dosomeinitstuff我有一个子类,它需要一个额外的arg(最后一个W)classB(A):def__init__(self.a,b,c,d,e,f,g,...........,x,y,z,W)A.__init__(self,a,b,c,d,e,f,g,...........,x,y,z)self.__W=W编写所有这些样板代码似乎很愚蠢,例如将所有参数从B的Ctor传递到对A的ctor的内部调用,因为那么对A的ctor的每次更改都必须应

python - 避免在子类中指定所有参数

我有一个类:classA(object):def__init__(self,a,b,c,d,e,f,g,...........,x,y,z)#dosomeinitstuff我有一个子类,它需要一个额外的arg(最后一个W)classB(A):def__init__(self.a,b,c,d,e,f,g,...........,x,y,z,W)A.__init__(self,a,b,c,d,e,f,g,...........,x,y,z)self.__W=W编写所有这些样板代码似乎很愚蠢,例如将所有参数从B的Ctor传递到对A的ctor的内部调用,因为那么对A的ctor的每次更改都必须应

Python 类型提示 : how to tell X is a subclass for Foo?

我应该如何为Python中的类类型编写类型提示?考虑这段代码:classA(object):passclassB(A):passdefregister(cls:type[A]):assertissubclass(cls,A)register(A)register(B)type[A]是正确的写法吗?如果我只使用cls:A这意味着cls是A的一个实例,但我想说的是cls是一个类/类型,它至少是A的子类。具体来说,我要说明的是参数应该是一个Django模型类型。 最佳答案 这里的其他当前(2016年9月22日)答案似乎不正确。根据PEP4

Python 类型提示 : how to tell X is a subclass for Foo?

我应该如何为Python中的类类型编写类型提示?考虑这段代码:classA(object):passclassB(A):passdefregister(cls:type[A]):assertissubclass(cls,A)register(A)register(B)type[A]是正确的写法吗?如果我只使用cls:A这意味着cls是A的一个实例,但我想说的是cls是一个类/类型,它至少是A的子类。具体来说,我要说明的是参数应该是一个Django模型类型。 最佳答案 这里的其他当前(2016年9月22日)答案似乎不正确。根据PEP4

python - 防止类在 Python 中直接实例化

我有一个父类(superclass),其方法调用仅在其子类中定义的其他方法。这就是为什么当我创建我的父类(superclass)的一个实例并调用它的方法时,它找不到该方法并引发错误。这是一个例子:classSuperClass(object):defmethod_one(self):value=self.subclass_method()printvalueclassSubClassOne(SuperClass):defsubclass_method(self):return'subclass1'classSubClassTwo(SuperClass):defsubclass_meth

python - 防止类在 Python 中直接实例化

我有一个父类(superclass),其方法调用仅在其子类中定义的其他方法。这就是为什么当我创建我的父类(superclass)的一个实例并调用它的方法时,它找不到该方法并引发错误。这是一个例子:classSuperClass(object):defmethod_one(self):value=self.subclass_method()printvalueclassSubClassOne(SuperClass):defsubclass_method(self):return'subclass1'classSubClassTwo(SuperClass):defsubclass_meth

python - 如何继承 OrderedDict?

子类化Pythondict按预期工作:>>>classDictSub(dict):...def__init__(self):...self[1]=10...>>>DictSub(){1:10}但是,用collections.OrderedDict做同样的事情是行不通的:>>>importcollections>>>classOrdDictSub(collections.OrderedDict):...def__init__(self):...self[1]=10...>>>OrdDictSub()(…)AttributeError:'OrdDictSub'objecthasnoattr

python - 如何继承 OrderedDict?

子类化Pythondict按预期工作:>>>classDictSub(dict):...def__init__(self):...self[1]=10...>>>DictSub(){1:10}但是,用collections.OrderedDict做同样的事情是行不通的:>>>importcollections>>>classOrdDictSub(collections.OrderedDict):...def__init__(self):...self[1]=10...>>>OrdDictSub()(…)AttributeError:'OrdDictSub'objecthasnoattr

python - 子类化 dict : should dict. __init__() 被调用?

这是一个双重问题,一个理论部分,一个实践部分:当子类化dict时:classImageDB(dict):def__init__(self,directory):dict.__init__(self)#Necessary??...是否应该调用dict.__init__(self),作为“安全”措施(例如,如果有一些重要的实现细节很重要)?如果not调用dict.__init__()是否存在代码与Python的future版本中断的风险?我在这里寻找做一件事或另一件事的根本原因(实际上,调用dict.__init__()是安全的)。我的猜测是,当调用ImageDB.__init__(sel