详解python中*号的用法


Posted in Python onOctober 21, 2019

1、表示乘号

2、表示倍数,例如:

def T(msg,time=1):
  print((msg+' ')*time)

T('hi',3)

打印结果(打印3次):

hi hi hi

3、单个 * (1)、如:*parameter是用来接受任意多个参数并将其放在一个元组中。

>>> def demo(*p):
  print(p)
>>> demo(1,2,3)
(1, 2, 3)

(2)、函数在调用多个参数时,在列表、元组、集合、字典及其他可迭代对象作为实参,并在前面加 *

如 *(1,2,3)解释器将自动进行解包然后传递给多个单变量参数(参数个数要对应相等)。

>>> def d(a,b,c):
  print(a,b,c)

  
>>> d(1,2,3)

1 2 3

>>> a=[1,2,3]
>>> b=[1,2,3]
>>> c=[1,2,3]
>>> d(a,b,c)

[1, 2, 3] [1, 2, 3] [1, 2, 3]

>>> d(*a)
1
1 2 3

提示:序列解包要在关键参数和 **参数 之前进行处理

4、两个 ** 如: **parameter用于接收类似于关键参数一样赋值的形式的多个实参放入字典中(即把该函数的参数转换为字典)。

>>> def demo(**p):
  for i in p.items():
    print(i)
   
>>> demo(x=1,y=2)
(‘x', 1)
(‘y', 2)

知识点扩展:python中星号(*)和双星号(**)的用法

第一种情况:用在两表达式的中间,*表示乘法,**表示取幂,如:

>>> 2*5
10
>>> 2**7
128

第二种情况:用在变量的前面。

1,向函数传递参数,将变量中可迭代对象的元素拆解出来,作为独立的参数第传给函数,如:

>>> a=[1,2,3,4]
>>> print(*a,sep='\n')

>>> print(a[0],a[1],a[2],a[3],sep='\n')

>>>

 对于**,变量为字典,将其拆解出来,单独传给函数。如:

>>> dic={'a':1,'b':2,'c':3} 
>>> string='{a}-{b}-{c}'.format(**dic)  
>>> string  
'1-2-3'
>>>
 

2,在函数定义中使用,收集参数。将参数捕捉到一个元组中,如:

>>> def sum(*num):
   return num
 
>>> sum(1,3,5,7)   
(1, 3, 5, 7)
>>> 
 

该用法允许我们创建自己的函数时,可以接收任意数量的参数。

双星号可以将参数捕捉到字典中,如:

>>> def pack(**dic):
   return dic
 
>>> pack(a=1,b=2,c=3)  
{'a': 1, 'b': 2, 'c': 3}
>>>

总结

以上所述是小编给大家介绍的python中*号的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python中引用与复制用法实例分析
Jun 04 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
Jul 27 Python
django框架防止XSS注入的方法分析
Jun 21 Python
python opencv实现信用卡的数字识别
Jan 12 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
Apr 24 Python
通过代码实例解析Pytest运行流程
Aug 20 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
python中bytes和str类型的区别
Oct 21 #Python
python中@property和property函数常见使用方法示例
Oct 21 #Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 #Python
基于python解线性矩阵方程(numpy中的matrix类)
Oct 21 #Python
python打印直角三角形与等腰三角形实例代码
Oct 20 #Python
python配置文件写入过程详解
Oct 19 #Python
python实现广度优先搜索过程解析
Oct 19 #Python
You might like
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
python使用pil生成图片验证码的方法
2015/05/08 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
法警的竞聘演讲稿
2014/01/02 职场文书
给民警的表扬信
2014/01/08 职场文书
冰淇淋店的创业计划书
2014/02/07 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书