Python KeyError 异常处理示例

什么是 Python KeyError Exception?

Python KeyError是当我们试图从 dict 访问一个密钥时提出的,它不存在,它是内置的例外类之一,由许多模块提出,这些模块与 dict 或具有密钥值对的对象一起工作。

Python 关键错误与字典

让我们看看一个简单的例子,该程序提出了KeyError。

1emp_dict = {'Name': 'Pankaj', 'ID': 1}
2
3emp_id = emp_dict['ID']
4print(emp_id)
5
6emp_role = emp_dict['Role']
7print(emp_role)

输出:

11
2Traceback (most recent call last):
3  File "/Users/pankaj/Documents/PycharmProjects/hello-world/journaldev/errors/keyerror_examples.py", line 6, in <module>
4    emp_role = emp_dict['Role']
5KeyError: 'Role'

Python 关键错误例外处理

我們可以使用 try-except區塊來處理 KeyError 例外。

 1emp_dict = {'Name': 'Pankaj', 'ID': 1}
 2
 3try:
 4    emp_id = emp_dict['ID']
 5    print(emp_id)
 6
 7    emp_role = emp_dict['Role']
 8    print(emp_role)
 9except KeyError as ke:
10    print('Key Not Found in Employee Dictionary:', ke)

输出:

11
2Key Not Found in Employee Dictionary: 'Role'

4. 在访问字典密钥时避免 KeyError

我们可以通过使用 get() 函数来访问密钥值来避免 KeyError. 如果密钥丢失,则返回 None. 我们也可以指定默认值来返回密钥丢失时。

1emp_dict = {'Name': 'Pankaj', 'ID': 1}
2
3emp_id = emp_dict.get('ID')
4emp_role = emp_dict.get('Role')
5emp_salary = emp_dict.get('Salary', 0)
6
7print(f'Employee[ID:{emp_id}, Role:{emp_role}, Salary:{emp_salary}]')

工作岗位: 工作岗位: 工作岗位: 工作岗位: 工作岗位: 工作岗位: 工作岗位:

5. Pandas 模块引发的关键错误

Pandas DataFrame 中有一些函数会引发 KeyError 例外。

六、参考

Published At
Categories with 技术
Tagged with
comments powered by Disqus