小编eri*_*sen的帖子

如何在Python中避免AttributeError并获取未定义的值?

我对 Python 有点陌生,我想创建一个函数,该函数接受一个参数,该参数是包含多个条目的字典。该函数有一个具有某些给定属性的对象(例如:颜色、标题、描述...)。如果参数中的字典包含名为“color”的条目,则应为对象的属性提供“color”值,否则对象中的属性“color”应为未定义/空。我知道在 JavaScript 中这很简单,如下所示:

function test(params) {
    obj = { prop_1: params.prop_1, prop_n: params.prop_n }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在 Python 中执行此操作并且 params 不包含“prop_1”时,它将返回错误并停止。我知道我可以使用“尝试:”来解决这个问题:

def test(params):
    obj = Object()

    try:
        obj.prop_1 = params.prop_1
    except AttributeError:
        pass

    try:
        obj.prop_n = params.prop_n
    except AttributeError:
        pass
Run Code Online (Sandbox Code Playgroud)

不过,我希望有一种更简单/更短的方法来使用 Python 中的 10 多个属性来做到这一点,有什么想法吗?

python object

5
推荐指数
1
解决办法
3531
查看次数

标签 统计

object ×1

python ×1