详解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打开文件并获取文件相关属性的方法
Apr 23 Python
调试Python程序代码的几种方法总结
Apr 28 Python
Python中Random和Math模块学习笔记
May 18 Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
Python提取频域特征知识点浅析
Mar 04 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
解决django model修改添加字段报错的问题
Nov 18 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 Python
Python基础教程,Python入门教程(超详细)
Jun 24 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 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
Python 26进制计算实现方法
2015/05/28 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Python+django实现文件上传
2016/01/17 Python
python要安装在哪个盘
2020/06/15 Python
Python如何执行系统命令
2020/09/23 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
公务员平时考核实施方案
2014/03/11 职场文书
演讲稿格式
2014/04/30 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
努力学习保证书
2015/02/26 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
教师调动申请报告
2015/05/18 职场文书
英语演讲开场白
2015/05/29 职场文书
2016春季运动会前导词
2015/11/25 职场文书
导游词之长城八达岭
2019/09/24 职场文书
MySQL创建管理RANGE分区
2022/04/13 MySQL
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang