A get() like method for checking for Python attributes(用于检查 Python 属性的类似 get() 的方法)
问题描述
如果我有一个字典 dict
并且我想检查 dict['key']
我可以在 try
中这样做块(bleh!)或使用 get()
方法,将 False
作为默认值.
If I had a dictionary dict
and I wanted to check for dict['key']
I could either do so in a try
block (bleh!) or use the get()
method, with False
as a default value.
我想对 object.attribute
做同样的事情.也就是说,如果尚未设置,我已经有返回 False
的对象,但这会给我类似
I'd like to do the same thing for object.attribute
. That is, I already have object to return False
if it hasn't been set, but then that gives me errors like
AttributeError: 'bool' 对象没有属性 'attribute'
AttributeError: 'bool' object has no attribute 'attribute'
推荐答案
与 hasattr
相比,dict.get(key, default)
更直接的类比是 getattr
.
A more direct analogue to dict.get(key, default)
than hasattr
is getattr
.
val = getattr(obj, 'attr_to_check', default_value)
(其中 default_value
是可选的,如果未找到则在没有属性时引发异常.)
(Where default_value
is optional, raising an exception on no attribute if not found.)
对于您的示例,您将传递 False
.
For your example, you would pass False
.
这篇关于用于检查 Python 属性的类似 get() 的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:用于检查 Python 属性的类似 get() 的方法


基础教程推荐
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 筛选NumPy数组 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01