gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 22:44:04 25 4
gpt4 key购买 nike

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

function test(params) {
obj = { prop_1: params.prop_1, prop_n: params.prop_n }
}

但是,当我在 Python 中执行此操作并且参数不包含“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

但是我希望有一种更简单/更短的方法来使用 Python 中的 10 多个属性来执行此操作,有什么想法吗?

最佳答案

好吧,如果 params 是一个 dict 类型,你可以使用 dict.get(key [, default])方法:

>>> params = {"foo": 12}
>>> params.get("bar", None)
None

如果 bar 键不存在,则 None 是默认值。

关于python - 如何避免 AttributeError 并在 Python 中获取未定义的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30015398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com