详解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实现处理管道的方法
Jun 04 Python
在Django的URLconf中使用多个视图前缀的方法
Jul 18 Python
详解Python多线程
Nov 14 Python
Python+matplotlib绘制不同大小和颜色散点图实例
Jan 19 Python
python实现雨滴下落到地面效果
Jun 21 Python
Flask框架各种常见装饰器示例
Jul 17 Python
python实现简单登陆系统
Oct 18 Python
python多任务及返回值的处理方法
Jan 22 Python
基于Pycharm加载多个项目过程图解
Jan 19 Python
解决阿里云邮件发送不能使用25端口问题
Aug 07 Python
Python hashlib模块的使用示例
Oct 09 Python
python用opencv 图像傅里叶变换
Jan 04 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
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
使用js实现雪花飘落效果
2013/08/26 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
python实现手机销售管理系统
2019/03/19 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
python 列表推导式使用详解
2019/08/29 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
python中Mako库实例用法
2020/12/31 Python
canvas画布实现手写签名效果的示例代码
2019/04/23 HTML / CSS
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
辩论赛主持词
2014/03/18 职场文书
走进敬老院活动总结
2014/07/10 职场文书
学校消防安全责任书
2014/07/23 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS