您的位置:首页 > 编程语言

代码清单4-2

2016-02-09 00:18 232 查看
Python基础教程(第2版·修订版)P62 代码清单4-2

#coding=utf-8
people={
'Alice':{
'phone':'2341',
'addr':'Foo drive 23'
},
'Beth':{
'phone':'9102',
'addr':'Bar street 42'
},
'Cecil':{
'phone':'3158',
'addr':'Baz avenue 90'
}
}

labels={
'phone':'phone number',
'addr':'address'
}

name=raw_input('Name: ')

#查找电话号码还是地址?
request=raw_input('Phone number (p) or address (a)? ')

#使用正确的键:
key=request               #如果请求既不是p也不是a,则令key为这个奇怪的值
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's %s is %s" % (name,label,result)


上面代码中:

person=people.get(name,{})


.get(name,{})是指合法姓名就正常进行,不存在的姓名就返回空集吗?

但是按照书上和代码运行来看,应该是不存在就以那个不存在的name为返回值。

所以.get(name,{})到底是什么意思呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python