65.收集参数:

   def print_name(*name):print(name)>>> print_name('tom')('tom',)>>> print_name(1,2,3,4,5,6,7)(1, 2, 3, 4, 5, 6, 7)
“*”号加参数,可以将传给print_name()的所有值放在一个元组中输出。
 def print_name2(first,*name):print(first)print(name)>>> print_name2('tom',12,3,4,5,6,7)tom(12, 3, 4, 5, 6, 7)>>> print_name2(1,2,3,4,5,6,7)1(2, 3, 4, 5, 6, 7)>>> print_name2('tom',name='join')Traceback (most recent call last):File "<pyshell#32>", line 1, in <module>print_name2('tom',name='join')TypeError: print_name2() got an unexpected keyword argument 'name'
结论:“*”号意味着将余下的传给函数位置参数;但是不能把关键字参数传给带“*”号的参数。
   >>> print_name2('tom',1,2,3,4,5,second=8)tom(1, 2, 3, 4, 5)8>>> print_name2('tom',1,2,3,4,5,6,7,8)Traceback (most recent call last):File "<pyshell#34>", line 1, in <module>print_name2('tom',1,2,3,4,5,6,7,8)TypeError: print_name2() missing 1 required keyword-only argument: 'second'
像上面这种情况的话,当带“*”号的参数放在中间时,要将后面的参数指定关键字,不然将会报错。
如果要收集关键字参数,需要加两个“*”号。
 def print_name2(**name):print(name)>>> print_name2(name='tom'){'name': 'tom'}

举例子:

 def print_name(x,y,z=9,*name,**parent):print(x,y,z)print(name)print(parent)>>> print_name(1,2,3,4,5,6,key='first',t='tom')1 2 3(4, 5, 6){'key': 'first', 't': 'tom'}>>> print_name(1,2)1 2 9(){}

66.分配参数

 def add(x,y):return x+y输出:>>> add(1,2)3>>> name=(1,2)>>> add(*name)3def Hello_3(name,gets):print(name)print(gets)>>> name={'first':'one','second':'two'}>>> Hello_3(*name)firstsecond>>> array={'name':'hello','gets':'world'}>>> Hello_3(**array)hello,world

关于学习Python的一点学习总结(28->收集参数及分配参数)相关推荐

  1. 关于学习Python的一点学习总结(57->正则表达式及re模块中的一些函数)

    关于这个正则表达式,我本人也是有点不完全懂,还在继续学习中. 97.re 1.正则表达式: 1.通配符:正则表达式可与多个字符串匹配,可使用特殊字符来创建这种正则表达式 例如:正则表达式'.ython ...

  2. 关于学习Python的一点学习总结(54->集合->堆->双端队列)

    集合,堆,双端队列 再谈集合set:集合是由内置类set实现的 >>> set(range(10)){0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 可使用序列(或其他可 ...

  3. 关于学习Python的一点学习总结(58->匹配对象和编组)

    匹配对象和编组 1.模块re中,查找与模式匹配的子串的函数都在找到时返回MatchObject对象.这种对象包 含与模式匹配的子串的信息,还包含模式的哪部分与子串的哪部分匹配的信息.这些子串部分称 为 ...

  4. 关于学习Python的一点学习总结(52->模块就是程序)

    91.模块就是程序 # hello.py print("Hello, world!") 将其保存在文件hello.py中,这个文件的名称(不包括扩展名.py)将成为模块的名称.这个 ...

  5. 关于学习Python的一点学习总结(47->静态方法和类方法)

    86.静态方法和类方法:静态方法和类方法是这样创建的:将它们分别包装在staticmethod和classmethod类的对象中.静态方法的定义中没有参数self,可直接通过类来调用.类方法的定义中包 ...

  6. 关于学习Python的一点学习总结(41->相关的BIF操作)

    81.一些相关的BIF 1.>>> class BIF:def __init__(self,t):self.t=thasattr(object,name):判断name是否在obje ...

  7. 关于学习Python的一点学习总结(38)

    78.文件: 1.文件的类型:包括ASCII,MIME,.txt等格式. 2.文件的格式类型:(1).MPEG视频:mp4;(2).图片格式:.jpg:(3)powerpoint文档:.ppt; (4 ...

  8. 关于学习Python的一点学习总结(35->关联超类)

    76.调用为关联的超类(继承的类)构造函数 先举个例子: class Bird: def __init__(self): self.hungry = True def eat(self): if se ...

  9. 关于学习Python的一点学习总结(30->递归实例)

    68.递归 先来两个例子: 1.阶乘 def Fact(num):result=numfor i in range(1,num):result*=ireturn result>>> ...

  10. 关于学习Python的一点学习总结(25->pass占位符)

    60.1.什么都不做:pass-可用作为占位符,当你写的某一块程序什么都不做的时候,可以添加这个 pass,不然程序会无法执行. 2.del:Python中的垃圾收集器 先看一段代码: >> ...

最新文章

  1. Ruby环境的安装(In Ubuntu 7.10)
  2. linux 标准输入句柄,标准文件描述符与标准文件句柄
  3. ebs r12多少钱 实施oracle_甘肃室外儿童游乐设施报价,室外儿童游乐设施多少钱
  4. vsflexgrid单元格换行后自动使用行高_Excel表格不会换行?10个超实用Excel小技巧,用了都说好!...
  5. c 调用java程序_C ++可以调用Java代码吗?
  6. java上传kafka的方法_哪种方法是将所有数据从Kafka主题复制到接收器(文件或Hive表)的最佳方法?...
  7. 少样本学习系列(二)【Model-Based Methods】
  8. 记录自己在厦门两年来的面试经历--完结篇
  9. halcon深度学习
  10. reduce()实现数组去重
  11. 如何让iPad浏览器不再拒绝访问请求
  12. Linux 大数据(hadoop)
  13. RLC振荡原理与RC Snubber吸收电路
  14. 关于显式类型转换以及隐式类型转换
  15. 南京廖华微型计算机原理答案,微机原理课后习题答案解析
  16. 爬虫 字体反爬分析(1) 人人车 -- 含源码
  17. AIX操作系统vi命令的使用方式
  18. linux下grep命令用法,全面详解linux下grep命令的用法
  19. Android 编程下字库的使用
  20. Debeaver导入csv文件后处理乱码与数字型转varchar丢失精度问题

热门文章

  1. 爬虫之JS的解析确定js的位置
  2. python爬虫执行scrapy crawl demo出现: import win32api ModuleNotFoundError: No module named 'win32api'错误
  3. python爬取单个网页照片!
  4. Self-Attention 加速方法一览:ISSA、CCNet、CGNL、Linformer
  5. 【OpenCV 4开发详解】可分离滤波
  6. Python中的常规习题
  7. Cordova webapp实战开发:(1)为什么选择 Cordova webapp?
  8. UI基础 - UIScrollView
  9. 使用命令wsimport构建WebService客户端
  10. oracle 监听数据交互