详解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中list循环语句用法实例
Nov 10 Python
Python中的自省(反射)详解
Jun 02 Python
Python中常见的数据类型小结
Aug 29 Python
Python编程入门之Hello World的三种实现方式
Nov 13 Python
基于python中pygame模块的Linux下安装过程(详解)
Nov 09 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
Python函数参数操作详解
Aug 03 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 Python
python实现用户名密码校验
Mar 18 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 Python
python zip()函数的使用示例
Sep 23 Python
Opencv+Python识别PCB板图片的步骤
Jan 07 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
社区(php&&mysql)二
2006/10/09 PHP
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
php实现异步数据调用的方法
2015/12/24 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python中的元组介绍
2019/01/28 Python
python中Lambda表达式详解
2019/11/20 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
心得体会开头
2014/01/01 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫