python - 无需 try/catch 即可安全访问 Python 中的对象

标签 python idioms accessor

在 Objective-C 中你可以做 [variable valueForKeyPath:@"abc.def"][[variable abc] def] 如果 abc doesn't exist on variable 你最终会得到一个 nil 值,并且不会得到错误或异常。这真的很方便。 Python中有这样的东西吗?我知道你可以做到(至少对于字典)

abc = variable.get('abc', None)
if abc:
    def = abc.get('def', None)

try:
    def = variable.get('abc').get('def')
except:
    pass

这看起来非常冗长。当我只想访问对象的属性或取回 None 值时,有没有更简单的方法?

最佳答案

关于

def = variable.get('abc', {}).get('def',None)

好吧,这只适用于 dict..

关于python - 无需 try/catch 即可安全访问 Python 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11515620/

相关文章:

c++ - "Forward-unbreakable"访问器类模板 [C++]

java - 如何在访问器中动态定义键空间

python - 如何使用 argparse 获得特定的子命令 require 标志?

python - 如何在C++中将Python字符串转换为其转义版本?

python - 将 pdb 与替代 Python 安装一起使用

根据条件将向量拆分为子向量的 Julia 惯用方法

clojure - 使用 clojure 将映射惯用地合并到值集映射中

python - 什么时候触发写入磁盘?

syntax - 为什么以及何时应该在 block 的末尾使用逗号?

java - 在Java中,访问器方法总是需要返回一个值吗?