注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风之人生

人生如风,却无法如风般潇洒。

 
 
 

日志

 
 
关于我

一介草民,苟活于上海滩,以甲骨文为生,偶尔对一些国家大事有些兴趣,日常无事常以丝竹之声为乐。

网易考拉推荐

Python function with positional arguments and keyword argument  

2013-12-23 11:16:28|  分类: Program |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

当我们要写一个Python 的函数的时候,我们有两种形式,在我们写参数时,可以选择两种形式,一种叫做位置参数(positional arguments), 另外一种叫做关键字参数(keyword argument):

例子如下:
位置参数:


def print_two(arg1, arg2):
print "arg1: %r, arg2: %r" % (arg1, arg2)

关键字参数:

def person(age=29, name='Jason', type='Emplyee'):
print "The age of this man is", age
print "the man's name is", name
print " This guy is a", type



这两种形式都很好理解,在Python里面我们有一个内置的机制可以直接读取参数, 就是在函数定义的时候使用*arg和**key,简单的来说,*name 表明了我们有个tuple 名叫name,他存储了我们的位置参数,而**key表示有个dictionary名叫key,这个dictionary存储着我们的关键字参数,那么有 了这么方便的内置变量,我们就可以使用tuple和dictionary通用的操作来操作我们的参数了。例子如下:

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]

cheeseshop("Limburger", "It's very runny, sir.",
"It's really very, VERY runny, sir.",
shopkeeper='Michael Palin',
client="John Cleese",
sketch="Cheese Shop Sketch")


你可以得到如下输出:


-- Do you have any Limburger ?
-- I'm sorry, we're all out of Limburger
It's very runny, sir.
It's really very, VERY runny, sir.
----------------------------------------
client : John Cleese
shopkeeper : Michael Palin
sketch : Cheese Shop Sketch
  评论这张
 
阅读(1622)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017