setattr

    0热度

    1回答

    我试图在Python中设置一个简单的测试示例setattr(),但它未能为成员分配新值。 class Foo(object): __bar = 0 def modify_bar(self): print(self.__bar) setattr(self, "__bar", 1) print(self.__bar) 在这里,我试图变量赋值与

    -1热度

    1回答

    我想写一些测试python模块的包装。 这个包装模拟一个环境,然后通过execfile启动其他python模块。 有很多python模块需要测试(> 200)。 这些模块内部有一些硬编码的变量,它们包含一些绝对文件路径,这些文件路径在我的模拟环境中不存在(我也无法创建它们)。这些文件路径是选项文件的路径,该脚本将读入。每个模块总是只有一个选项 - 文件,并且该选项文件的文件路径始终保存在同一个全局

    1热度

    1回答

    我有它创建了一个子类的成员对象的构造: class OpenSprinkler: class CV: my_args = ['rsn', 'rbt', 'en', 'rd', 're'] my_longhand = {'reset_all':'rsn', 'reboot':'rbt', 'enable':'en',

    1热度

    2回答

    我正在生成一个DocType类,以根据我的ORM构建映射和保存文档。 def get_doc_type(self): attributes = {} ... # Build attributes dictionary here DT = type('DocType', (DocType,), attributes) return DT 这看

    1热度

    1回答

    我想构建一个系统,其中每个其他对象都使用一个基类。每个基础对象在内部都有一个_fields字典,其中基类的实现可以存储其信息。 基类的实现很简单: class A(object): def __init__(self, fields=dict()): self._fields = fields 类的实现可以设置在__init__调用其super()领域。 我想补充说的是,

    0热度

    1回答

    根据Python的2.7.12文档: 如果__setattr__()想分配给一个实例属性,它应该 不能简单地执行self.name = value - 这会导致递归调用 本身。相反,它应该将值插入实例属性的词典 中,例如self.__dict__[name] = value。 对于 新样式类,而不是访问实例字典,它应该调用具有相同名称的基类方法,例如, object.__setattr__(sel

    1热度

    1回答

    使用CPython 3.4.3(GCC 5.3.1 20160406(Red Hat 5.3.1-6))时,我在私有属性上使用setattr和getattr时遇到了一个非常奇怪的行为: class Short: def __init__(self): setattr(self, '__myatt', None) self.__myatt = 42 as

    0热度

    4回答

    在this回答它显示为属性传递给类__init__ 例如,kwargs/ARGS如何自动设置,我们可以这样做: class Employee(object): def __init__(self, *initial_data, **kwargs): # EDIT self._allowed_attrs = ['name', 'surname', 'salary',

    1热度

    2回答

    所以我试图动态地设置属性到不同名称的类,其中每个属性对我的数据库进行独特的调用。但是,当我访问属性对象时,尽管在不同的列上查看了各自完全不同的值,但它们都返回相同的结果。下面是代码: class Configs: def __init__(self, guild_id): self.guild_id = guild_id for x in configs:

    1热度

    2回答

    我有一个模型类,它有一个引用django数据库对象的属性。我想用setattr()来改变这个属性,使用setattr()来改变这个对象的任何属性。 问题是,我似乎无法通过堆栈传递一个对象实例。我不确定我是否可以为此使用setattr()。其实我甚至不确定问题出在我尝试使用setattr()或其他东西 - 请让我知道! 错误的POST尝试: ValueError at /dollhouseupdat