Python字典get方法和dic[key]的区别

Python 字典是一个基础的知识点了,在我们想要获取字典中的值的时候一般会有两种可选的方法——get() 方法和 [key] 方法今天我来尝试简单对比一下两种方法。

dic.get() 方法和 dic[key] 方法的不同
这两种方法都是用来获取字典中 key 对应的 value,一般情况下似乎没有什么区别:

>>> dic = {1:'This is 1', 2:'This is 2'}
>>> dic[1]
'This is 1'
>>> dic.get(2)
'This is 2'
1
2
3
4
5
不过在实际编写程序的时候,我们有时候并不知道字典中有哪些 key ,这种时候两种方法的区别就不同了:

>>> dic[0]
# 由于我们刚刚创建的字典里面没有 0 这个 key 因此我们得到了一个错误
KeyError: 0

>>> dic.get(0)
# 好吧这里什么也没得到
1
2
3
4
5
6
这里就很重要了,如果大家和馆主我一样也是编程小白就需要注意一下了,因为如果程序中抛出了任何 Error 就意味着一件件事情,我们的程序要停止运行了。这在正式程序中是大家都不愿意看到的。 
但是我们也看到, get() 方法在遇到错误的时候没有给我们任何反馈,也许你觉得这样不好,其实原因是我们省略了一个参数,我们可以增加第二个参数指定 get() 方法在遇到错误的时候返回一些信息:

>>> dic.get(0,'抱歉你请求的 key 不存在')
>'抱歉你请求的 key 不存在'
1
2
好啦,馆主我又一次用了大量篇幅(废话太多)表达了一句话: 
get() 方法和 [key] 方法的主要区别在于,[key] 在遇到不存在的 key 时会抛出 KeyError 错误
--------------------- 
作者:哈哈餐馆 
来源:CSDN 
原文:https://blog.csdn.net/aaazz47/article/details/79022644 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(python)