方法get为访问字典项提供了宽松的环境。通常,如果你试图访问字典中没有的项,将引发 错误。
>>> d = {}
>>> print(d['name'])
Traceback (most recent call last): File "<stdin>", line 1, in ?
KeyError: 'name'
而使用get不会这样:
>>> print(d.get('name'))
None
如你所见,使用get来访问不存在的键时,没有引发异常,而是返回None。你可指定“默认” 值,这样将返回你指定的值而不是None。
>>> d.get('name', 'N/A')
'N/A'
如果字典包含指定的键,get的作用将与普通字典查找相同。
>>> d['name'] = 'Eric'
>>> d.get('name')
'Eric'
字典方法示例
# 一个使用get()的简单数据库
# 在这里插入数据库(字典people)
labels = {
'phone': 'phone number',
'addr': 'address'
}
name = input('Name: ')
# 要查找电话号码还是地址?
request = input('Phone number (p) or address (a)? ')
# 使用正确的键:
key = request #
如果request既不是'p'也不是'a'
if request == 'p': key = 'phone' if request == 'a': key = 'addr'
# 使用get提供默认值
person = people.get(name, {}) label = labels.get(key, key)
result = person.get(key, 'not available')
print("{}'s {} is {}.".format(name, label, result))
下面是这个程序的运行情况。注意到get提高了灵活性,让程序在用户输入的值出乎意料时 也能妥善处理。
Name: Gumby
Phone number (p) or address (a)? batting average
Gumby's batting average is not available.
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar