zoukankan      html  css  js  c++  java
  • 【转载】 Python 方法参数 * 和 **

    Python的函数定义中有两种特殊的情况,即出现*,**的形式。
    如:def myfun1(username, *keys)或def myfun2(username, **keys)等。

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

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

    第一种方式:

     1 import httplib
     2 def check_web_server(host,port,path):
     3  h = httplib.HTTPConnection(host,port)
     4  h.request('GET',path)
     5  resp = h.getresponse()
     6  print 'HTTP Response'
     7  print '        status =',resp.status
     8  print '        reason =',resp.reason
     9  print 'HTTP Headers:'
    10  for hdr in resp.getheaders():
    11  print '        %s : %s' % hdr
    12  
    13  
    14 if __name__ == '__main__':
    15  http_info = {'host':'www.baidu.com','port':'80','path':'/'}
    16  check_web_server(**http_info)

    第二种方式:

     1 def check_web_server(**http_info):
     2  args_key = {'host','port','path'}
     3  args = {}
     4  #此处进行参数的遍历
     5  #在函数声明的时候使用这种方式有个不好的地方就是 不能进行 参数默认值
     6  for key in args_key:
     7  if key in http_info:
     8  args[key] = http_info[key]
     9  else:
    10  args[key] = ''
    11  
    12  
    13  h = httplib.HTTPConnection(args['host'],args['port'])
    14  h.request('GET',args['path'])
    15  resp = h.getresponse()
    16  print 'HTTP Response'
    17  print '        status =',resp.status
    18  print '        reason =',resp.reason
    19  print 'HTTP Headers:'
    20  for hdr in resp.getheaders():
    21  print '        %s : %s' % hdr
    22  
    23  
    24 if __name__ == '__main__':
    25  check_web_server(host= 'www.baidu.com' ,port = '80',path = '/')
    26  http_info = {'host':'www.baidu.com','port':'80','path':'/'}
    27  check_web_server(**http_info)

    转载来自:http://my.oschina.net/u/1024349/blog/120298

  • 相关阅读:
    求n的元素的最大最小值
    输出一个集合的所有子集,从长到短
    树的各种操作java
    几个笔试题目总结
    小知识不断补充
    java、C语言实现数组模拟栈
    LearnHowToThink
    Android中的this、Activity、Context等
    Android已上线应用开源分享中(第二季)
    Android已上线应用开源分享中(第一季)
  • 原文地址:https://www.cnblogs.com/dcb3688/p/4354148.html
Copyright © 2011-2022 走看看