setattr相关内容

如何在当前模块上调用 setattr()?

我应该将什么作为第一个参数“object"传递给函数setattr(object, name, value),以在当前模块上设置变量?> 例如: setattr(object, "SOME_CONSTANT", 42); 产生与以下相同的效果: SOME_CONSTANT = 42 在包含这些行的模块中(使用正确的object). 我在模块级别动态生成多个值,由于我无法在模块级别定 ..
发布时间:2021-12-29 13:43:15 Python

为什么 setattr 在绑定方法上失败

在下面,setattr 在第一次调用中成功,但在第二次调用中失败: AttributeError: 'method' 对象没有属性 'i' 为什么会这样,有没有办法在方法上设置属性,使其只存在于一个实例上,而不存在于类的每个实例上? c 类:def m(自我):打印(类型(厘米))setattr(cm, 'i', 0)打印(类型(self.m))setattr(self.m, 'i', 0) ..
发布时间:2021-12-23 09:05:34 Python

如何在 Python 中的新样式类上正确覆盖 __setattr__ 和 __getattribute__?

我想覆盖我的 Python 类的 __getattribute__ 和 __setattr__ 方法.我的用例是通常的用例:我有一些我想要处理的特殊名称,并且我想要其他任何东西的默认行为.对于 __getattribute__,似乎我可以通过提高 AttributeError 来请求默认行为.但是,如何在 __setattr__ 中实现相同的目标?这是一个简单的例子,实现一个具有不可变字段“A"、 ..
发布时间:2021-12-17 19:50:54 Python

如何限制在构造函数之外设置属性?

我想禁止在类的某些属性初始化后进一步赋值.例如;在 Person 实例 'p' 初始化之后,没有人可以明确地为 'ssn'(社会安全号码)属性分配任何值._setattr_ 在 _init_ 方法内部赋值时也被调用,因此它不是什么我想要.我只想限制更多的分配.我怎样才能做到这一点? class Person(object):def __init__(self, name, ssn):self.n ..
发布时间:2021-09-16 18:33:21 Python

Python-如何从类中动态删除方法-即setattr的对面

我不知道这里是否有一个好的设计,但是我有一个派生自unittest.TestCase的类及其设置方式,我的代码将动态地将一堆test_*方法注入调用unittest进行运行之前的类.我为此使用setattr.这一直很好,但是现在我要删除以前注入的方法,然后注入一组新的方法.如何删除名称与模式test_*匹配的类中的所有方法? 解决方案 它称为delattr,并记录在这里. ..
发布时间:2020-07-07 00:22:34 Python

setattr()不为类成员分配值

我正在尝试在Python中建立setattr()的简单测试示例,但是它无法为该成员分配新值. class Foo(object): __bar = 0 def modify_bar(self): print(self.__bar) setattr(self, "__bar", 1) print(self.__bar) 在这里 ..
发布时间:2020-07-07 00:21:23 Python

exec将函数添加到类中

因此,我研究了类似的问题,并且找到了一些解决方案,但是我还不太清楚如何做到这一点. 我想做的是从字符串向类添加方法.我可以使用setattr()方法来执行此操作,但这不会让我在其他方法中将self用作属性.这是一个示例:(我为变量名表示歉意,在构思一个想法时总是使用yolo) class what: def __init__(self): s = 'def yo ..
发布时间:2020-07-07 00:21:21 Python

setattr()和object .__ setattr __()有什么区别?

我知道您不能在不是从object继承的对象上调用object.__setattr__,但是两者之间还有其他不同吗?如果这很重要,我正在使用Python 2.6. 解决方案 再次阅读此问题,我误解了@ paper.cut在问什么:经典类和新型类之间的区别(在Python 3+中不是问题) ).我不知道答案. 原始答案 * setattr(instance, name, value ..
发布时间:2020-07-07 00:21:14 Python

在python中使用setattr()

我正在寻找可以解释使用方法基础知识的人,而不是使用setattr(). 我的问题是尝试使用一个类的方法/函数返回数据,然后将其放入另一方法/函数中.在这种情况下,也许一种更简单的方法会更好,但是我试图了解类是如何工作/使用的.这个问题似乎取决于setattr(),这是我试图对此做一个相当简单的尝试. 尽管问题不完全相同,但我遵循的是 Python的艰难之路,例如ex42 &mdash ..
发布时间:2020-07-07 00:21:12 Python