草庐IT

mock_class

全部标签

python - 访问父类(super class)属性

您好,我想在python中实现以下功能,但是我不知道用什么替换super.a=b行:classSuper:def__init__(self):self.a=1classSub(Super):defmethod(self,b):super.a=b 最佳答案 一个Sub是一个Super,即Sub的所有实例都可以像super。在您的情况下,这意味着您只需设置self.a=b。 关于python-访问父类(superclass)属性,我们在StackOverflow上找到一个类似的问题:

python - img = Image.open(fp) 属性错误 : class Image has no attribute 'open'

我想把图片放到一个PDF文件中。我的代码如下...importsysimportxlrdfromPILimportImageimportImageEnhancefromreportlab.platypusimport*fromreportlab.lib.stylesimportgetSampleStyleSheetfromreportlab.rl_configimportdefaultPageSizePAGE_HEIGHT=defaultPageSize[1]styles=getSampleStyleSheet()Title="IntegratingDiverseDataSources

Python3 + pytest + pytest 模拟 : Mocks leaking into other test functions breaking assertions?

注意:有关我的设置(python版本、模块等)的所有详细信息都列在问题底部。如果这个问题很明显,请提前致歉,但我已经为此苦苦挣扎了好几天。希望有人可以阐明一些新的观点。我正在为我的个人项目从unittest->pytest转换单元测试。以前我使用的是内置的unittest.mock模块,但现在我正在尝试使用pytest-mock插件。我有一种潜移默化的感觉,我的测试正在将模拟对象泄漏到彼此中。原因如下:高级细节:#PythonversionPython3.5.2#Pytestversion(andplugins)pytest==3.0.7pytest-benchmark==3.1.0a

python - 有人在 Python/其他语言中使用 meta-meta-classes/meta-meta-meta-classes 吗?

我最近发现了python中的元类。基本上,python中的元类是创建类的类。有很多有用的理由可以解释为什么要这样做——例如任何类型的类初始化。在工厂上注册类、复杂的属性验证、改变继承的工作方式等。所有这些不仅可能而且变得简单。但是在python中,元类也是普通类。所以,我开始想知道抽象是否可以有用地提高,在我看来它可以而且:元类对应于或实现模式中的角色(如GOF模式语言)。元-元类是模式本身(如果我们允许它创建表示抽象角色的类的元组,而不仅仅是单个类)元元元类是一个模式工厂,对应于GOF模式分组,例如创造的,结构的,行为的。一个工厂,您可以在其中描述特定类型问题的案例,它会为您提供一组

python - 有人在 Python/其他语言中使用 meta-meta-classes/meta-meta-meta-classes 吗?

我最近发现了python中的元类。基本上,python中的元类是创建类的类。有很多有用的理由可以解释为什么要这样做——例如任何类型的类初始化。在工厂上注册类、复杂的属性验证、改变继承的工作方式等。所有这些不仅可能而且变得简单。但是在python中,元类也是普通类。所以,我开始想知道抽象是否可以有用地提高,在我看来它可以而且:元类对应于或实现模式中的角色(如GOF模式语言)。元-元类是模式本身(如果我们允许它创建表示抽象角色的类的元组,而不仅仅是单个类)元元元类是一个模式工厂,对应于GOF模式分组,例如创造的,结构的,行为的。一个工厂,您可以在其中描述特定类型问题的案例,它会为您提供一组

python - 在 python 上模拟父类(super class)调用

我正在做一些单元测试,在某些时候我需要模拟一个super调用来抛出一个错误,例如:@classmethoddefmyfunc(cls,*args,**kwargs)try:super(MyClass,cls).my_function(args,kwargs)exceptMyExceptionase:#...我正在使用mocker库来模拟我的对象,但我还没有找到模拟它的方法。 最佳答案 使用unittest.mock从标准库我会做这样的事情。在你的类定义中:fromsomelibimportASuperClassclassMyClas

python - 在 python 上模拟父类(super class)调用

我正在做一些单元测试,在某些时候我需要模拟一个super调用来抛出一个错误,例如:@classmethoddefmyfunc(cls,*args,**kwargs)try:super(MyClass,cls).my_function(args,kwargs)exceptMyExceptionase:#...我正在使用mocker库来模拟我的对象,但我还没有找到模拟它的方法。 最佳答案 使用unittest.mock从标准库我会做这样的事情。在你的类定义中:fromsomelibimportASuperClassclassMyClas

python - 何时何地以及如何更改对象的 __class__ attr?

我希望能够做到:>>>classa(str):...pass...>>>b=a()>>>b.__class__=strTraceback(mostrecentcalllast):File"",line1,inTypeError:__class__assignment:onlyforheaptypes 最佳答案 我是这样解决的:>>>classC(str):...def__getattribute__(self,name):...ifname=='__class__':...returnstr...else:...returnsupe

python - 何时何地以及如何更改对象的 __class__ attr?

我希望能够做到:>>>classa(str):...pass...>>>b=a()>>>b.__class__=strTraceback(mostrecentcalllast):File"",line1,inTypeError:__class__assignment:onlyforheaptypes 最佳答案 我是这样解决的:>>>classC(str):...def__getattribute__(self,name):...ifname=='__class__':...returnstr...else:...returnsupe

python - 创建对象时 Class() vs self.__class__()?

使用Class()或self.__class__()在类中创建新对象的优点/缺点是什么?一种方式通常优于另一种方式吗?这是我正在谈论的一个人为的例子。classFoo(object):def__init__(self,a):self.a=adef__add__(self,other):returnFoo(self.a+other.a)def__str__(self):returnstr(self.a)defadd1(self,b):returnself+Foo(b)defadd2(self,b):returnself+self.__class__(b) 最佳