Python中用于访问可能不存在的ak/v对值的最佳实践?

Rya*_* Yu 1 javascript python

function getParams(data) {
    return {
        id: data && data.uuid
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,上面代表了Javascript中用于访问对象项的常见模式.

Python中用于访问dict项目的最常用的等效实践是什么?

会这样吗?

def getParams(data):
    params = {}
    if data is not None and hasattr(data, "id"):
        params["id"] = data["id"]
    return params
Run Code Online (Sandbox Code Playgroud)

如果没有,最佳做法是什么?谢谢.

Bre*_*arn 5

如果你想从dict获得一个密钥而不知道它是否在那里,你可以使用getdicts 的方法.如果密钥不存在,则返回None(或特定的默认值):

>>> x = {}
>>> print(x.get('a'))
None
>>> print(x.get('a', 'default'))
default
Run Code Online (Sandbox Code Playgroud)