从两个位置之一选择数据的pythonic方法是什么?

时间:2016-09-29 20:29:24

标签: python styles readability

我正在向客户端应用程序(此代码所在的位置)调用的其他应用程序中的api端点进行向后不兼容的更改。我需要一段时间来支持它处理前一种情况(数据存在于“分类帐”级别“)和新情况(数据存在于”资料“分类帐中)。

下面的代码可以从任何一个地方抓住它,但我有一种唠叨的感觉,必须有更多的pythonic方式来做到这一点。有什么想法吗?

{{1}}

1 个答案:

答案 0 :(得分:0)

而不是

owner_data = owner_data_from_ledger if owner_data_from_ledger else owner_data_from_profile

你可以写出相同的东西:

owner_data = owner_data_from_ledger or owner_data_from_profile

或者缩短整个事情:

owner_data_ = self.account.ledger.data.get('owner',
                  self.data.get('owner', None))

您也可以在上面的末尾省略None,因为这是该参数的默认值。