详解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中利用Pandas库处理大数据的简单介绍
Apr 07 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
May 25 Python
Python字典数据对象拆分的简单实现方法
Dec 05 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
安装python及pycharm的教程图解
Oct 10 Python
python异步的ASGI与Fast Api实现
Jul 16 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中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
Python数据库的连接实现方法与注意事项
2016/02/27 Python
Python装饰器基础详解
2016/03/09 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
python爬取微信公众号文章
2018/08/31 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
python 实现屏幕录制示例
2019/12/23 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
保护环境建议书400字
2014/05/13 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
怎么写工作检讨书
2014/11/16 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
导游词幽默开场白
2019/06/26 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
利用Python判断你的密码难度等级
2021/06/02 Python