Skip to main content
 首页 » 编程设计

python之对象没有属性时如何处理错误

2025年05月04日15sxdcgaq8080

我是 Python 的新手。这是我用 Python 编写的第一个代码!有效的代码:

test = {"name": "John Lennon"}; 
print (test.get("name", 0).split(" ")[1]); 

这里发生的是它打印出 Lennon,这是预期的。

如果代码是:

test = {"age": "John Lennon"}; 
print (test.get("name", 0).split(" ")[1]); 

AttributeError: 'int' object has no attribute 'split' 将被打印。我理解这是因为 0 值无法拆分。

如果返回值为 0 而不使用 if else 子句,是否有一种优雅/优雅地处理的方法?

请您参考如下方法:

Is there a way to elegantly/gracefully handle if the value returned is 0 without using if else clause?

处理这个问题的最好方法是提供一个允许 split() 的默认值。所以这意味着您可以改用空字符串:

print (test.get("name", "").split(" ")[1]); 

但是,现在您在索引时遇到错误。您可以通过将长行代码分解成更小的部分并将中间值分配给变量来解决此错误:

names = test.get("name", "").split(" ") 

然后使用 if 语句检查是否有姓氏:

if len(names) >= 2: