12得票2回答
Python中使用字符串变量来设置和获取@property方法

目前我有一个通用函数,您可以传入属性名称和类(也适用于特定的对象实例,但我正在使用类),该函数将通过调用查找并操作该属性。 getattr(model_class, model_attribute) 它将通过调用(这次是在对象实例上) settattr(model_obj, key, ...

12得票1回答
为什么将描述器定义为实例属性时没有被调用?

当我把“data”变量设为类变量时,以下代码可以正常运行,但当我把它设为对象变量时,描述符没有被调用。请帮忙。class Data(object): products = { 'milk': {'price': 1.50, 'quantity': 10}, ...

12得票1回答
Python中如何实现__slots__?

__slots__ 在 Python 中是如何实现的? 这在 C 接口中是否暴露出来了? 如果我通过 PyTypeObject 在 C 中定义一个 Python 类,我该如何获得 __slots__ 的行为?

11得票2回答
使用 __setattr__ 和描述符来定义Python类

我正在编写一个使用__setattr__和__getattr__提供自定义属性访问的Python类。 然而,某些属性无法以通用方式处理,因此我希望对这些属性使用描述符。 问题在于,对于描述符来说,在获取属性时会调用描述符的__get__方法,而不是实例的__getattr__方法;但是在分...

11得票3回答
Python可重置实例方法记忆化装饰器

我试图为类的实例方法构建一个装饰器,以便对结果进行记忆化。 (这已经做了无数次) 然而,我希望能够随时重置记忆化缓存的选项(比如说,如果实例状态发生变化,可能会改变该方法的结果,与其参数无关)。因此,我尝试将装饰器构建为一个类,而不是一个函数,以便可以将缓存作为类成员访问。这引导我学习描述符,...

11得票4回答
以编程方式为类生成方法

我有大约20个方法需要重定向到一个包装方法,该方法接受原始方法和其他参数:class my_socket(parent): def _in(self, method, *args, **kwargs): # do funky stuff def recv(s...

11得票4回答
将一组图片分类为不同的类别

我遇到了一个问题,需要对一组图片进行分类。然而,我对这些图片并没有太多的了解。因此,我计划使用尽可能多的描述符,然后对它们进行主成分分析(PCA),以识别对我有用的描述符。 如果有帮助的话,我可以对大量数据点进行监督学习。但是,这些图片之间可能存在联系。也就是说,可能会从图像X发展到图像X+...

10得票1回答
Python3: 使用.__get__()将方法绑定到类实例,它能够正常工作,但为什么?

我知道如果你想为一个类实例添加一个方法,你不能像这样进行简单的赋值:>>> def print_var(self): # method to be added print(self.var) >>> class MyClass: ...

10得票2回答
用于封装外部库的Python属性工厂或描述符类

我正在为通过Pythonnet访问的C# API编写Python包装器类。由于我希望使用自己的方法来扩展API,因此我决定使用在这里概述的组合方法进行封装:C# API大量使用属性,我希望在我的Python代码中模拟这种方式。以下是关于C# Surface类的两个属性width和height的...

10得票3回答
为什么在__init__函数中声明描述符类会破坏描述符的功能?

在下面的B类中,我希望在将值分配给B().a时调用A类中的__set__函数。但是,设置B().a的值会覆盖B().a的值。C类分配给C().a工作正常,但是我想为每个用户类有一个单独的A实例,也就是说,我不希望更改C()的一个实例中的'a'会改变所有其他实例中的'a'。我写了几个测试来帮助说...