详解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的迭代器、生成器以及相关的itertools包
Apr 02 Python
python通过smpt发送邮件的方法
Apr 30 Python
python删除本地夹里重复文件的方法
Nov 19 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
对Python中TKinter模块中的Label组件实例详解
Jun 14 Python
Python正则表达式匹配数字和小数的方法
Jul 03 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
用python解压分析jar包实例
Jan 16 Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 Python
Python 如何反方向迭代一个序列
Jul 28 Python
python实战之用emoji表情生成文字
May 08 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 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
支持oicq头像的留言簿(一)
2006/10/09 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
Python中文件的读取和写入操作
2018/04/27 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
python中_del_还原数据的方法
2020/12/09 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
瑜伽国际:Yoga International
2018/04/18 全球购物
高中体育教学反思
2014/01/24 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
门面房租房协议书
2014/08/20 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
安装工程师岗位职责
2015/02/13 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
python基础之文件操作
2021/10/24 Python