python 所有关键字解释_Python关键字输出解释

I'm going through the Python 2.7 tutorial, and I was looking at the output of the following statement:

def cheeseshop(kind, *arguments, **keywords):

print "-- Do you have any", kind, "?"

print "-- I'm sorry, we're all out of", kind

for arg in arguments:

print arg

print "-" * 40

keys = sorted(keywords.keys())

for kw in keys:

print kw, ":", keywords[kw]

So, if I call the program as such:

cheeseshop("Cheddar", "No.", "Seriously?",

Shopkeeper="Michael Palin",

Client="John Cleese")

It outputs:

Do you have any Cheddar?

I'm sorry, we're all out of Cheddar

No.

Seriously?

--------------------------------------

Client: John Cleese

Shopkeeper: Michael Palin

This is correct.

If I change that print statement to print keywords, I get the following representation:

{'Shopkeeper': 'Ryan Lambert', 'Client': 'John Cleese'}

I'm a bit confused on how printing keywords[kw] just comes back with a name, and keywords does not.

解决方案

So the keywords variable is actually a dictionary type. Thus, if you do:

print keywords

you get back (reformatted to make the mapping more obvious)

{

'Shopkeeper': 'Ryan Lambert',

'Client': 'John Cleese'

}

which is a dictionary. And if you do:

print keywords[kw]

you get back the value of the dictionary associated with the key kw. So if kw was 'Shopkeeper', then keywords[kw] becomes 'Ryan Lambert', and if kw was 'Client', then keywords[kw] becomes 'John Cleese'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值