问题标签 [setattr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 android 文件上设置扩展用户属性?
有没有办法让我的 android 应用程序检索和设置文件的扩展用户属性?有没有办法java.nio.file.Files
在安卓上使用?有什么方法可以使用setfattr
和 getfattr
来自我的 dalvik 应用程序吗?我知道android使用ext4文件系统,所以我想应该是可能的。有什么建议么?
python - 如何在python中为类动态创建类方法
如果我将一个小 Python 程序定义为
我收到回溯错误
我想弄清楚的是,如何在不实例化对象的情况下动态地将类方法设置为类?
编辑:
这个问题的答案是
返回以下输出
python - 用于处理嵌套字典的 Python 递归 setattr()-like 函数
有很多很好的 getattr() 类函数用于解析嵌套字典结构,例如:
我想做一个并行的 setattr()。本质上,给定:
我想生成一个可以分配的函数:
或多或少,这将与以下方式相同:
产生:
我目前正在调用它setByDot()
:
这样做的一个问题是,如果中间的键不存在,则需要检查并制作中间键(如果它不存在)——即,对于上述情况:
所以,你首先必须做出:
另一个是下一项是列表时的键控将不同于下一项是字符串时的键控,即:
...失败,因为分配是针对空字符串而不是空字典。null dict 将是 dict 中每个非列表的正确分配,直到最后一个——它可能是一个列表或一个值。
@TokenMacGuy 在下面的评论中指出的第二个问题是,当您必须创建一个不存在的列表时,您可能必须创建大量空白值。所以,
---可能意味着算法将不得不制作一个中间体,如:
屈服
这样这是与 getter 关联的 setter ...
更重要的是,中间体应该/不/覆盖已经存在的值。
以下是我到目前为止的垃圾想法——我可以识别列表与字典和其他数据类型,并在它们不存在的地方创建它们。但是,我没有看到(a)在哪里放置递归调用,或者(b)当我遍历列表时如何“构建”深层对象,以及(c)如何区分 /probing/ 我是当我到达堆栈的末尾时,我必须从 /setting/ 构造深层对象。
这似乎很棘手,因为如果您正在制作占位符,您必须向前看以检查 /next/ 对象的类型,并且您必须向后看以构建路径。
更新
我最近也回答了这个问题,这可能是相关的或有帮助的。
python - python - 如何在实例化时动态地将函数添加到python中的实例
如果我有一个允许在实例化时使用选项参数的 python 类,我如何根据该选项参数的值为其动态设置一个函数。例如,如果我有代码
我得到回溯错误
python - 对 Python 字典的可切换点访问?
我还没有看到字典点访问的可切换版本。
我在这里的第一次尝试不起作用:
我认为 setattr 和 setitem 之间的签名不匹配。
我的第二次通过似乎也应该有效,但以同样的方式失败:
python - 给定一个描述 object.attribute 的 Python 字符串,我如何将属性的命名空间与属性分开?
给定一个描述 object.attribute 的 Python 字符串,我如何将属性的命名空间与属性分开?
期望的例子:
注意:我知道编写自己的字符串解析器是一种选择,但我正在寻找一种更优雅的解决方案。滚动我自己的字符串解析器并不像 '.' 上的 rsplit 那样简单。因为上面列出的最后一个选项,给定的关键字可能包含命名空间分隔符。
python - 在导入的模块内设置属性时修复路径导入
为了使它更短,我有一个模块可以做到这一点:
我的模块.py
因此,如果我位于 MyModule 文件夹内并打开一个外壳,则以下工作:
但是,如果我在 MyModule 文件夹之外进行本地化并执行以下操作:
我得到:'module' object has no attribute 'VarA'
,我想这正在发生,因为setattr
正在VarA
其他地方设置,VarA
无论我从哪里导入模块,都可以在 mymodule 中执行什么操作?
python - exec 将函数添加到类中
因此,我查看了类似的问题,并找到了一些解决方案,但我无法弄清楚如何做到这一点。
我想要做的是从字符串向类添加一个方法。我可以使用该setattr()
方法执行此操作,但这不会让我self
在额外方法中用作属性。这是一个例子:(我为变量名道歉,当我模拟一个想法时,我总是使用 yolo)
返回这个:
如果s = 'def yolo():\n\tself.extra = "Hello"\n\tprint self.extra'
然后我得到这个结果:
这实质上意味着我不能为类动态创建方法,我知道这是不好的做法并且不符合 Python 标准,因为这些方法将无法访问类的其余部分可以访问的变量。
我很感激任何帮助。
python - 可以在具有 __slots__ 的类中定义 __setattr__() 吗?
假设我有一个定义__slots__
:
我可以__setattr__()
为它定义吗?
既然Foo
没有__dict__
,它会更新什么?
python - maximum recursion depth while using __setattr__ in python new style object?
I have the following code which comprises of a person class and a Manager class that delegates to a person class. I am using new style object
(derived from object
) and running python 2.7.
I geth maximum recursion depth which I am unable to understand. I know the problem happens when setattr is used (when I commented this out in manager class, I see it works fine).
why this recursion occurs and how to avoid it.