详解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 相关文章推荐
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
解决pycharm工程启动卡住没反应的问题
Jan 19 Python
python获取点击的坐标画图形的方法
Jul 09 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
python绘制规则网络图形实例
Dec 09 Python
在notepad++中实现直接运行python代码
Dec 18 Python
Python @property原理解析和用法实例
Feb 11 Python
python datetime处理时间小结
Apr 16 Python
opencv 分类白天与夜景视频的方法
Jun 05 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中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
vue-父子组件和ref实例详解
2019/11/10 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python的Flask框架中web表单的教程
2015/04/20 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
python 实现超级玛丽游戏
2020/11/25 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
师生聚会感言
2014/01/26 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
街道务虚会发言材料
2014/10/20 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
Python绘画好看的星空图
2022/03/17 Python
Go语言编译原理之源码调试
2022/08/05 Golang