草庐IT

Super_VLAN

全部标签

python - 将参数传递给父类(super class)构造函数而不在子类构造函数中重复它们

classP(object):def__init__(self,a,b):self.a=aself.b=bclassC(P):def__init__(self,c):P.__init__()self.c=cobj=C(a,b,c)#wanttoinstantiateaCwithsomethinglikethis我想定义C类对象而不重写C的构造函数中的所有P类构造函数参数,但是上面的代码没有'似乎工作。执行此操作的正确方法是什么?澄清:这个想法是为了避免将父类的构造函数参数放在子类的构造函数中。只是重复太多了。我所有的父类和子类都有很多构造函数要接受的参数,因此一次又一次地重复它们不是很

python - 为 super 用户以外的用户排除 Django 管理中的字段

我有一个带有PermissionsMixin的简单MyUser类。user.is_superuser仅对super用户等于True。我希望能够在我的admin.py中执行与此类似的操作:ifrequest.user.is_superuser:fieldsets=((None,{'fields':('email','password')}),('Permissions',{'fields':('is_admin','is_staff')}),('Place',{'fields':('place',)}),('Importantdates',{'fields':('last_login',

多重继承中的Python self和super

在RaymondHettinger在PyCon2015的演讲“Superconsideredsuperspeak”中,他解释了在多重继承上下文中使用Python中的super的优势。这是Raymond在演讲中使用的示例之一:classDoughFactory(object):defget_dough(self):return'insecticidetreatedwheatdough'classPizza(DoughFactory):deforder_pizza(self,*toppings):print('Gettingdough')dough=super().get_dough()p

python - 类型错误 : Super does not take Key word arguments?

首先,这是我的代码:classEnemy():def__init__(self,name,hp,damage):self.name=nameself.hp=hpself.damage=damagedefis_alive(self):"""Checksifalive"""returnself.hp>0classWildBoar(Enemy):def__init__(self):super(WildBoar,name="WildBoar",hp=10,damage=2).__init__()classMarauder(Enemy):def__init__(self):super(Marau

python - 调用重写的方法,父类(super class)调用重写的方法

此代码抛出异常,AttributeError,"wtf!",因为A.foo()正在调用B.foo1(),它不应该调用A.foo1()吗?我怎样才能强制它调用A.foo1()(A.foo()中的任何方法调用都应该调用A.*)classA(object):deffoo(self):printself.foo1()deffoo1(self):return"foo"classB(A):deffoo1(self):raiseAttributeError,"wtf!"deffoo(self):raiseAttributeError,"wtf!"deffoo2(self):super(B,self)

python 3 : super() raises TypeError unexpectedly

来自Java,我在理解继承、抽象类、静态方法和Python中OO编程的类似概念时遇到了一些困难。我有一个表达式树类的实现,给定(简化)#GenericnodeclassclassNode(ABC):@abstractmethoddefto_expr(self):pass@staticmethoddefbracket_complex(child):s=child.to_expr()returnsifisinstance(child,Leaf)orisinstance(child,UnaryOpNode)else"("+s+")"#Leafclass-usedforvaluesandvar

Python: super 和 __init__() 与 __init__( self )

答:super(BasicElement,self).__init__()乙:super(BasicElement,self).__init__(self)A和B有什么区别?我遇到的大多数示例都使用A,但我遇到了一个问题,即A没有调用父__init__函数,但B调用了。为什么会这样?在什么情况下应该使用哪些? 最佳答案 您不需要执行第二种形式,除非BasicElement类的__init__以某种方式接受参数。classA(object):def__init__(self):print"InsideclassAinit"classB

python - 为什么 super(Thread, self).__init__() 不能用于 threading.Thread 子类?

我所知道的Python中的每个对象都可以通过调用来处理其基类初始化:super(BaseClass,self).__init__()threading.Thread的子类似乎不是这种情况,因为如果我在SubClass.__init__()中尝试这个,我得到:RuntimeError:thread.__init__()notcalled是什么导致了这个错误?我查看了threading.Thread的源代码,看起来__init__方法应该设置Thread.__initialized=True。我看到所有示例都使用以下__init__:classYourThread(threading.Th

python - 我可以在 Python 2.5.6 中使用 Python 3 super() 吗?

我可以使用干净的Python3super()Python2.5.6中的语法?也许用某种__future__导入? 最佳答案 我意识到这个问题很旧,选择的答案当时可能是正确的,但不再完整。你仍然不能在2.5.6中使用super(),但是python-future提供一个back-portedimplementation对于2.6+:安装python-future:%pipinstallfuture下面是builtins下super的重定义:%python...>>>importsys>>>sys.version_info[:3](2,

html - 表格中 super 简单的 CSS 工具提示,为什么不显示,我可以让它工作吗?

我一直在尝试为我的客户在此页面上实现许多不同的工具提示,他坚持认为当您将鼠标悬停在订单页面中的产品名称上时,我们会显示产品图片。我决定使用super简单的CSS工具提示,它很容易实现并且完全符合我们的要求。它适用于动态页面,我试过的其他页面则没有。我在这里做了一个例子:CSStooltipintableexample.已更新以删除错误。HTML:VarekodeProduktPris AntallPrisTotalSlett39261-02PlantronicsCS361N2390.- 2390.-2390.-Remove7050-20Target7050CCDuo