详解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 相关文章推荐
在Django的模型和公用函数中使用惰性翻译对象
Jul 27 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
使用Python对Excel进行读写操作
Mar 30 Python
python实现多层感知器MLP(基于双月数据集)
Jan 18 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
Python 中Django安装和使用教程详解
Jul 03 Python
Django项目后台不挂断运行的方法
Aug 31 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
Oct 18 Python
python日期与时间戳的各种转换示例
Feb 12 Python
Pycharm快捷键配置详细整理
Oct 13 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
Python函数式编程中itertools模块详解
Sep 15 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把数字转成人民币大写的函数分享
2014/06/30 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
javascript每日必学之循环
2016/02/19 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
vue实现购物车案例
2020/05/30 Javascript
[01:05:40]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第三场
2014/05/24 DOTA
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
2017/11/09 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
python opencv实现运动检测
2018/07/10 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
Java程序员面试题
2016/09/27 面试题
幼儿园校车司机的岗位职责
2014/01/30 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
毕业评语大全
2014/05/04 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫