jjzjj

subclass

全部标签

Python __subclasses__() 没有列出子类

我似乎无法使用__subclasses__()方法列出所有派生类。这是我的目录布局:import.pybackends__init__.py--digger__init__.pybase.pytest.py--pluginsplugina_plugin.py我正在从import.py调用test.py。test.py依次遍历plugins目录中的所有文件并加载所有文件。test.py看起来像这样:importosimportsysimportresys.path.append(os.path.join(os.path.abspath(os.path.dirname(os.path.ab

python - Sklearn 自定义转换器 : difference between using FunctionTransformer and subclassing TransformerMixin

为了进行适当的CV,建议使用管道,以便可以将相同的转换应用于CV中的每个折叠。我可以通过使用sklearn.preprocessing.FunctionTrasformer或通过subclassingsklearn.base.TransformerMixin来定义自定义转换。推荐的方法是哪一种?为什么? 最佳答案 这完全取决于您,两者或多或少会达到相同的结果,只是您编写代码的方式不同。例如,在使用sklearn.preprocessing.FunctionTransformer时,您可以简单地定义要使用的函数并像这样直接调用它(co

Python Nose 测试继承: load unit test fixtures from subclasses

我正在将Python项目的测试套件从unittest转换为nose。该项目现有的框架(基于unittest)相当笨重,包含大量用于测试发现和运行的高度定制的代码,因此我正在尝试迁移到nose以使一切更加精简。但是,我在生成测试套件的代码方面遇到了问题。该项目的框架有两种运行测试的方式。一个是classTestSomething(unittest.TestCase):defsetUp(self):...deftest_x(self):...deftest_y(self):...suite=unittest.TestSuite()suite.addTest(unittest.makeSui

python - 在 `super()` 内使用 `__init_subclass__` 找不到父类的类方法

这个问题在这里已经有了答案:Whydoesaclassmethod'ssuperneedasecondargument?(1个回答)3年前关闭。我尝试从__init_subclass__中访问父级的类方法但是这似乎不起作用。假设以下示例代码:classFoo:def__init_subclass__(cls):print('init',cls,cls.__mro__)super(cls).foo()@classmethoddeffoo(cls):print('foo')classBar(Foo):pass产生以下异常:AttributeError:'super'objecthasnoa

python - 如何在 TestCase 子类中隐藏堆栈帧?

我想将自定义断言方法添加到TestCase子类。我试图从unittest模块复制我的实现,以便它尽可能匹配常规TestCase的行为。(我宁愿只委托(delegate)给self.assertEqual()但这会导致更多的回溯噪音,见下文。)unittest模块似乎自动隐藏了一些内部细节它在报告失败断言时的实现。importunittestclassMyTestCase(unittest.TestCase):defassertLengthIsOne(self,sequence,msg=None):iflen(sequence)!=1:msg=self._formatMessage(ms

python - 惯用地将 BaseClass 对象转换为 SubClass 对象?

有一个基类Base和一个子类Special。classBase(object):def__init__(self,name):self.name=namedefgreet(self):return'Hello%s'%self.nameclassSpecial(Base):def__init__(self,name):super(Special,self).__init__(name)defrhyme(self):return'Hi%s!Howareyou?Fine,thanks.Whataboutyou?'%self.name如何将Base实例转换为Special实例?目前,我在Spe

python - 子类化 numpy ndarray 问题

我想子类化numpyndarray。但是,我无法更改数组。为什么self=...不改变数组?谢谢。importnumpyasnpclassData(np.ndarray):def__new__(cls,inputarr):obj=np.asarray(inputarr).view(cls)returnobjdefremove_some(self,t):test_cols,test_vals=zip(*t)test_cols=self[list(test_cols)]test_vals=np.array(test_vals,test_cols.dtype)self=self[test_c

python - 在 Python 3.6 中将 ABCMeta 与 __init_subclass__ 组合时出现 TypeError

我正在尝试将python3.6的新__init_subclass__功能(PEP487)与abc模块一起使用。它似乎没有用。以下代码:fromabcimportABCMetaclassInitifier:def__init_subclass__(cls,x=None,**kwargs):super().__init_subclass__(**kwargs)print('gotx',x)classAbstracted(metaclass=ABCMeta):passclassThingy(Abstracted,Initifier,x=1):passthingy=Thingy()运行时产生以

Python 打印不使用 __repr__、__unicode__ 或 __str__ 作为 unicode 子类?

Python打印在打印时没有为我的unicode子类使用__repr__、__unicode__或__str__。关于我做错了什么的任何线索?这是我的代码:使用Python2.5.2(r252:60911,2009年10月13日,14:11:59)>>>classMyUni(unicode):...def__repr__(self):...return"__repr__"...def__unicode__(self):...returnunicode("__unicode__")...def__str__(self):...returnstr("__str__")...>>>s=MyU

python - 如何确定 Django 模型中的类实例是否是另一个模型的子类?

我有一个名为BankAccount的类作为基类。我还有继承自BankAccount的CheckingAccount和SavingsAccount类。BankAccount不是抽象类,但我没有从它创建对象,只有继承类。然后,我执行这样的查询:account=BankAccount.objects.get(id=10)我如何知道帐户是CheckingAccount还是SavingsAccount?我现在的做法是这样的:checking_account=CheckingAccount.objects.get(id=account.id)如果存在,则为CheckingAccount,否则为Sa