欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

python 中步骤参数 * 和 * 的例子

更新时间: 2014-05-14 23:54:46 责任编辑: Author_N3

 

Python 中方法参数 * 和 ** 的例子

在Python中* 和 ** 有特殊含义,他们与函数有关,在函数被调用时和函数声明时有着不同的行为。此处*号不代表C/C++的指针。

其中 * 表示的是元祖或是列表,而 ** 则表示字典

以下为 ** 的例子:

01 #--------------------第一种方式----------------------#
02 import httplib
03 def check_web_server(host,port,path):
04  = httplib.HTTPConnection(host,port)
05  h.request('GET',path)
06  resp = h.getresponse()
07  print 'HTTP Response'
08  print '        status =',resp.status
09  print '        reason =',resp.reason
10  print 'HTTP Headers:'
11  for hdr in resp.getheaders():
12  print '        %s : %s' % hdr
13  
14  
15 if __name__ == '__main__':
16  http_info = {'host':'www.baidu.com','port':'80','path':'/'}
17  check_web_server(**http_info)
另一种方式:
01 #--------------------第二种方式----------------------#
02  
03  
04 def check_web_server(**http_info):
05  args_key = {'host','port','path'}
06  args = {}
07  #此处进行参数的遍历
08  #在函数声明的时候使用这种方式有个不好的地方就是 不能进行 参数默认值
09  for key in args_key:
10  if key in http_info:
11  args[key] = http_info[key]
12  else:
13  args[key] = ''
14  
15  
16  = httplib.HTTPConnection(args['host'],args['port'])
17  h.request('GET',args['path'])
18  resp = h.getresponse()
19  print 'HTTP Response'
20  print '        status =',resp.status
21  print '        reason =',resp.reason
22  print 'HTTP Headers:'
23  for hdr in resp.getheaders():
24  print '        %s : %s' % hdr
25  
26  
27 if __name__ == '__main__':
28  check_web_server(host= 'www.baidu.com' ,port = '80',path = '/')
29  http_info = {'host':'www.baidu.com','port':'80','path':'/'}
30  check_web_server(**http_info)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-05-14 23:54:46
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/319312/
本文WWW.DOC100.NET DOC100.NET版权所有。