详解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中的ConfigParser模块使用详解
May 04 Python
Python基础语法(Python基础知识点)
Feb 28 Python
python中实现字符串翻转的方法
Jul 11 Python
python实现flappy bird游戏
Dec 24 Python
PyQt5 窗口切换与自定义对话框的实例
Jun 20 Python
Python字符串对象实现原理详解
Jul 01 Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 Python
Python数据可视化:泊松分布详解
Dec 07 Python
flask 框架操作MySQL数据库简单示例
Feb 02 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
python安装及变量名介绍详解
Dec 12 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 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中计算时间差的方法详解
2015/03/27 PHP
PHP读取汉字的点阵数据
2015/06/22 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
Js面试算法详解
2018/04/08 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
浅析Python 读取图像文件的性能对比
2019/03/07 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
python中的django是做什么的
2020/07/31 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
比利时香水网上商店:NOTINO
2018/03/28 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
大学生专业个人学习的自我评价
2013/10/26 职场文书
会计岗位职责
2013/11/08 职场文书
中学生自我评价范文
2014/02/08 职场文书
英语专业毕业生求职信
2014/05/24 职场文书
亚运会口号
2014/06/20 职场文书
怎么写工作检讨书
2014/11/16 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
python之json文件转xml文件案例讲解
2021/08/07 Python