草庐IT

派生词

全部标签

python - 通过继承获取派生类的模块文件路径

假设您有以下内容:$morea.pyimportosclassA(object):defgetfile(self):returnos.path.abspath(__file__)-$moreb.pyimportaclassB(a.A):pass->>>importb>>>x=b.B()>>>x.getfile()'/Users/sbo/tmp/file/a.py'这很清楚。这段代码不足为奇。但是,假设我希望x.getfile()返回b.py的路径,而不必在类B下定义另一个getfile()副本。这是我做的importosimportinspectclassA(object):defge

python - 从基类调用派生类中的重写方法

我正在阅读有关classes的Python文档并遇到了我不确定的这一段:Derivedclassesmayoverridemethodsoftheirbaseclasses.Becausemethodshavenospecialprivilegeswhencallingothermethodsofthesameobject,amethodofabaseclassthatcallsanothermethoddefinedinthesamebaseclassmayendupcallingamethodofaderivedclassthatoverridesit.(ForC++program

python - 在派生自 `object` 的类中调用 super().__init__() ?

Pythondocumentation表示每个类的__init__方法负责初始化其父类(superclass)。但是对于新型类,最终的基类是object。执行dir(object)表明object本身有一个__init__方法并且可能被初始化。有什么理由这样做吗?我倾向于这样做是为了保持一致性和(稍微)更容易地重构类层次结构,但我想知道这是否绝对必要或是否被认为是最佳实践。 最佳答案 您不需要初始化对象;它的__init__是一个空操作。不过,这仍然是一种很好的做法,因为您稍后可能想在层次结构中引入一个中间类。

python - 如何将实例转换为派生类?

我正在尝试在我正在处理的Python程序中使用一点继承。我有一个基类User,它实现了用户的所有功能。我正在添加一个未批准的用户的概念,就像一个用户,添加一个单一的方法。User类有一些返回User对象的方法。这在我子类化时不起作用,因为我最终会得到一个UnapprovedUser返回一个用户,阻止我调用这个方法,等等。classUser(object):base_dn='ou=Users,dc=example,dc=org'@classmethoddefget(cls,uid):ldap_data=LdapUtil.get(uid+','+self.base_dn)returnUse

Python在父类中使用派生类的方法?

我可以强制父类调用派生类的函数版本吗?classBase(object):attr1=''attr2=''defvirtual(self):pass#doesn'tdoanythingintheparentclassdeffunc(self):print"%s,%s"%(self.attr1,self.attr2)self.virtual()以及派生自它的类classDerived(Base):attr1='IaminclassDerived'attr2='blahblah'defvirtual(self):#dostuff...#dostuff...清除模糊:d=Derived()d

c# - 为什么 Python.NET 使用基方法而不是派生类中的方法?

编辑:这将在新版本的pythonnet中得到修复(当this合并请求时)。我对Python.NET继承有疑问。我有一个包含以下代码的DLL:usingSystem;namespaceInheritanceTest{publicclassBaseClass{publicboolTransmit(){thrownewNotImplementedException();}}publicclassInheritedClass:BaseClass{publicnewboolTransmit(){Console.WriteLine("Success!");returntrue;}}}我希望调用In

Python 抽象类应强制派生类在 __init__ 中初始化变量

我想要一个抽象类,它强制每个派生类在其__init__方法中设置某些属性。我查看了几个没有完全解决我的问题的问题,特别是here或here。This看起来很有前途,但我没能成功。我假设我想要的结果可能类似于以下伪代码:fromabcimportABCMeta,abstractmethodclassQuadrature(object,metaclass=ABCMeta):@someMagicKeyword#以下是我尝试过的一些方法:fromabcimportABCMeta,abstractmethodclassQuadrature(object,metaclass=ABCMeta):@p

python - 获取派生类的所有 __slots__

我需要用None初始化一个实例的所有插槽。如何获取派生类的所有插槽?示例(不起作用):classA(object):__slots__="a"def__init__(self):#thisdoesnotworkforinheritedclassesforslotintype(self).__slots__:setattr(self,slot,None)classB(A):__slots__="b"我可以使用一个额外的类属性来保存所有类的插槽(包括继承的),比如classA(object):__slots__="a"all_slots="a"def__init__(self):#this

ios - Xcode 不会删除派生文件

我需要弄清楚为什么Xcode突然并且没有任何挑衅地开始向我发送此错误并且不允许我构建我的项目。当我说“没有挑衅”时,我的意思是我正在编辑应用程序从中提供文本的数据库中的文本,并在模拟器中检查我的进度,除了清理、构建和测试外,在Xcode中什么都不做。对于多个测试序列,一切都会很好,然后突然间,在我的程序中没有任何更改,应用程序无法构建,我收到以下错误:error:remove/Users/casey-cayce/Library/Developer/Xcode/DerivedData/PEM-LTE-2016-gyoajgqmkkoluhgbrhjmgwakiejl/Build/Prod

ios - 在派生数据中找不到 .app 文件

在尝试编译我的项目时出现此错误,想知道是否有人知道如何修复它?我已经阅读了SO和互联网上其他地方与此类链接器错误有关的所有答案。我已经尝试了很多解决方案,包括非常流行的--deletederiveddatainxcode,完全退出xcode,在命令行上再次删除它,然后重新启动xcode--仍然没有。这是在我尝试将设备连接到我的计算机(我已经从组织者中删除了它)之后开始的,这是一个friend试图在他的iPad上运行它。我束手无策,不能再浪费时间在这上面了。关于如何解决它的任何想法?Products文件夹中的应用程序文件是红色的。编辑:更多信息:实际的应用程序并未构建并放在Library