传递任意数量的实参

有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参

def get_letter(*letters):
for i in letters:
print(i)
get_letter('A','B','C','D','E')

形参名*letters中的星号让Python创建一个名为letters的空元组,并将收到的所有值都封装到这个元组中

结合使用位置实参和任意数量的实参

如果让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。

def get_letter(max_length,*letters):
print("\nThe Maximum length is "+str(max_length))
for i in letters:
print(i)
get_letter(10,'A','B','C','D','E')

使用任意数量的关键字实参

在不知道向函数传递的信息是什么样的情况下,还可以将函数编写能够接受任意数量的键-值对--调用语句提供多少就接受多少

def get_info(NM,**UserInfo):
profile ={}
profile['name'] = NM
for key,value in UserInfo.items():
profile[key] = value
return profile user_profile = get_info('zhangsan',sex = 'man',age = 23)
print(user_profile)

在get_info函数体内,我们创建了一个名为profile的空字典,用于存储用户的信息,我们先将NM存储到字典中,然后遍历UserInfo中的键值对,将每一个键-值存储在字典中。

总结

* UserInfo   元组

**UserInfo   字典

最新文章

  1. Debian8搭建php环境
  2. android解析json
  3. 合并文件夹里多个excel
  4. Prerequisites?[HDU1144]
  5. JVM<一>----------运行时数据区域
  6. MyEcpilise引入Maven项目目录不正常,无JRE,无Maven Dependencies
  7. Linux内核设计与实现 读书笔记
  8. c语言中%p指针
  9. hbulider 快捷键以及常用
  10. Oracle 日期处理
  11. Android 自定义控件 EditText输入框两边加减按钮Button
  12. poj 2407 Relatives(简单欧拉函数)
  13. (转)走进JVM,浅水也能捉鱼
  14. Android开发ListView使用OnScrollListener实现分页加载数据
  15. JQuery学习笔记——层级选择器
  16. Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.EmptyVisitor
  17. 笔记:Maven 反应堆
  18. MyEclipse Web项目部署失败:Deployment failure on Tomcat 7.x.Could not copy all resources to XXX.
  19. 多路径multipath配置,udev绑定
  20. 为什么需要micro-service构建平台

热门文章

  1. flink原理介绍-数据流编程模型v1.4
  2. BZOJ4196 [Noi2015]软件包管理器 【树剖】
  3. css3上下翻页效果
  4. 当时用vuex的时候,使用...对象展开扩展符报错的解决办法
  5. iOS笔记-(缓存机制的理解与实现)
  6. 负载平衡(cogs 741)
  7. 显示3行,还要省略号(这个属性比较合适WebKit浏览器或移动端(绝大部分是WebKit内核的)浏览器)
  8. java 去html标签,去除字符串中的空格,回车,换行符,制表符
  9. centos 7 安装git并配置ssh
  10. (5)ASP.NET HTML服务器控件