jjzjj

subclass

全部标签

python - list vs UserList 和 dict vs UserDict

今天编码,首选和推荐(在Python2和3中)以上哪项用于子类化?我读到引入了UserList和UserDict,因为以前list和dict不能被子类化,但既然这不再是问题,是否鼓励使用它们? 最佳答案 根据您的用例,现在您可以直接子类化list和dict,或者您可以子类化collections.MutableSequenceandcollections.MutableMapping;除了使用User*对象之外,还有这些选项。User*对象在Python3中被移动到collections模块;但是在Python2stdlib中使用这

python - 添加新实例变量的 Python set 类子类化的正确(或最佳)方法是什么?

我正在实现一个几乎与集合相同的对象,但需要一个额外的实例变量,因此我将内置集合对象子类化。确保在复制我的一个对象时复制此变量的值的最佳方法是什么?使用旧的sets模块,以下代码可以完美运行:importsetsclassFooset(sets.Set):def__init__(self,s=[]):sets.Set.__init__(self,s)ifisinstance(s,Fooset):self.foo=s.fooelse:self.foo='default'f=Fooset([1,2,4])f.foo='bar'assert((f|f).foo=='bar')但这不适用于内置的

python - 你如何在 Python 中子类化文件类型?

我正在尝试对Python中的内置file类进行子类化,以向stdin和stdout添加一些额外的功能。这是我到目前为止的代码:classTeeWithTimestamp(file):"""Classusedtoteetheoutputofastream(suchasstdoutorstderr)intoanotherstream,andtoaddatimestamptoeachmessageprinted."""def__init__(self,file1,file2):"""InitializestheTeeWithTimestamp"""self.file1=file1self.f

python - Django多表继承,如何知道哪个是模型的子类?

我在Django中遇到多表继承问题。让我们以银行账户为例。classaccount(models.Model):name=models……classaccounttypeA(account):balance=models.float…..defaddToBalance(self,value):self.balance+=valueclassaccounttypeB(account):balance=models.int….#NOTEthisdefaddToBalance(self,value):value=do_some_thing_with_value(value)#NOTEthis

python 3.7 : check if type annotation is "subclass" of generic

我试图找到一种可靠的/跨版本(3.5+)的方法来检查类型注释是否是给定泛型类型的“子类”(即从类型注释对象中获取泛型类型)。在Python3.5/3.6上,如您所料,它运行起来轻而易举:>>>fromtypingimportList>>>isinstance(List[str],type)True>>>issubclass(List[str],List)True而在3.7上,泛型类型的实例看起来不再是type的实例,因此它会失败:>>>fromtypingimportList>>>isinstance(List[str],type)False>>>issubclass(List[str

ios - 没有指定基类就定义了类?

我做过一百万次的简单继承:@classAGWindowView;@interfaceHelperView:AGWindowView我收到这个错误:Class"HelperView"definedwithoutspecifyingabaseclass.好吧,显然我正在指定一个基类。这里发生了什么?有什么方法AGWindowView不允许自己被子类化吗? 最佳答案 您需要导入在文件顶部定义AGWindowView的文件。编译器需要了解整个类,而不仅仅是它的存在。 关于ios-没有指定基类就定

ios - 没有指定基类就定义了类?

我做过一百万次的简单继承:@classAGWindowView;@interfaceHelperView:AGWindowView我收到这个错误:Class"HelperView"definedwithoutspecifyingabaseclass.好吧,显然我正在指定一个基类。这里发生了什么?有什么方法AGWindowView不允许自己被子类化吗? 最佳答案 您需要导入在文件顶部定义AGWindowView的文件。编译器需要了解整个类,而不仅仅是它的存在。 关于ios-没有指定基类就定

ios - IOS 的多重继承

我想创建一个可以继承自两个自定义类的类。你有什么想法吗?请看下面我的例子:头等舱:@interfaceUIZoomableView:UIView{UITapGestureRecognizer*_tapGestureRecognizer;}和实现:-(void)onDoubleTap:(UITapGestureRecognizer*)sender{CGSizenewSize;CGPointcenterPoint=self.center;if([selfisSmall]){newSize=[selfbigSize];}else{newSize=[selfsmallSize];}[UIVie

ios - IOS 的多重继承

我想创建一个可以继承自两个自定义类的类。你有什么想法吗?请看下面我的例子:头等舱:@interfaceUIZoomableView:UIView{UITapGestureRecognizer*_tapGestureRecognizer;}和实现:-(void)onDoubleTap:(UITapGestureRecognizer*)sender{CGSizenewSize;CGPointcenterPoint=self.center;if([selfisSmall]){newSize=[selfbigSize];}else{newSize=[selfsmallSize];}[UIVie

objective-c - iOS - 为圆角矩形创建 UIView 子类

我正在尝试为圆角矩形创建和使用一个非常简单的UIView子类。我创建了一个新类,如下所示:圆角矩形#import#import@interfaceRoundedRect:UIView@endRoundedRect.m#import"RoundedRect.h"@implementationRoundedRect-(id)initWithFrame:(CGRect)frame{self=[superinitWithFrame:frame];if(self){//Initializationcode[[selflayer]setCornerRadius:10.0f];[[selflayer