问题标签 [getattr]
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.
python - Django动态访问相关属性?
我正在使用 getattr 像这样动态访问模型的属性(假设 Student 模型有一个名为 name 的属性):
这很好用,但是我想知道是否可以以相同的方式访问相关记录的属性,例如(假设每个学生都有一个相关组,其属性名为 title):
有了这个,我只得到错误'学生没有属性 group.title'
有没有办法做到这一点?
任何建议表示赞赏。
谢谢
python - getattr 的问题
在过去的一个小时里,我一直在努力找出我正在处理的支持 IRC 的程序中的一个错误,经过一些调试后,我发现由于某种原因,getattr 无法正常工作。我有以下测试代码:
一切正常。
替换以下内容,代码中断(不将文本输出到 PyQT TextBrowser 实例)
这两种写 textFormatter 函数的第二个参数的方式本质上不是等价的吗?为什么会发生这种情况,以及关于如何处理这样的错误的任何想法?谢谢。
编辑:这是(简短的) textFormatter 类,以防万一:
python - 通过 getattr 动态获取 dict 元素?
我想动态查询我想检索的类中的哪些对象。getattr似乎是我想要的,它对类中的顶级对象执行良好。但是,我还想指定子元素。
如何通过字符串获取对象的字典元素?
python - __getattr__ 定义属性的文档
我必须自定义__getattr__
调用另一个函数来读取。
这很好用,除了 help(object.attr) 不起作用。这段代码是在交互式环境中使用的,所以 help() 对我们来说变得很重要。
是否有更好的设计来实现相同的功能但 help() 运行良好。
python - __setattr__ 仅适用于在对象属性中找不到的名称?
我只想__setattr__
在对象的属性中找不到该属性时使用,例如__getattr__
.
我真的必须使用try-except吗?
python - 使用 BeautifulSoup 提取键的值
我想提取这样的“档案”键的值:
我想我需要一个带有 [bla.jpg, bli.jpg, ...] 的列表,所以我尝试以下选项:
或者
或者
我总是得到一个空列表:[]
其他不成功的选择:
我得到类似的东西: dict 对象没有属性内容
我什么都得不到。
最后我看到了:BeautifulSoup 中 attrMap 和 attrs 之间的区别,以及:
什么都找不到,它必须是名称、代码或存档键的标记。
最后还有更多:
但 tag.attrs 什么也没找到
好的,在 jcollado 的帮助下,我可以通过这种方式获取列表:
python - Python拦截方法调用
让我先说我想做的事。我想为变量创建一个惰性包装器,因为我记录了所有方法调用和运算符调用,并在稍后指定要调用它的变量时评估它们。
因此,我希望能够拦截所有方法调用和操作员调用以及特殊方法,以便我可以处理它们。但是,__getattr__
不拦截运算符调用__str__
等,所以我想知道是否有一种通用的方法来重载所有方法调用,或者我应该动态创建一个类并复制所有它的代码(我已经做过,但很丑)。
python - 为什么 getattr() 比 self.__dict__.get() 慢这么多?
下面的示例来自 Python 2.7 上的 REST 数据库驱动程序。
在下面的__setattr__
方法中,如果我使用注释掉的getattr()
行,它会将对象实例化性能从 600 rps 降低到 230。
为什么getattr()
比这种情况慢得多self.__dict__.get()
?
python - How can I reach a private variable within the object
I would like to modify an object private variable
I tried the code above and it's seems that not possible to reach a private variable,
Is there any way to modify a private variable?
python - python string to function:globals() vs sys.module vs dictionary
我想知道将字符串映射到函数的最佳方法是什么。到目前为止,我知道我可以使用:
- 全局()[func_string]
- sys.modules[__name__]
- funcs_dictionary["func_string" : func]
这是代码:
全局()[func_string]:
sys.modules[__name__]:
funcs_dictionary["func_string" : func]:
最初我担心 sys.modules[__name__] 会重新加载模块并损害性能。但是上面的代码似乎表明函数指针是相同的,所以我想我不必担心吧?
选项 1、2、3 的最佳用例是什么?