Python3中*和**运算符的用法详解!

2022-12-17 0 916

  在自学python操作过程中,我们对*和**这三个操作符如果都不孤单,是三个较为常用的微积分操作符。所以你晓得Python3中*和**操作符的用语是甚么吗?下列是详尽的文本如是说。

Python3中*和**运算符的用法详解!

在python中,*和**具有句法迈盖,简而言之是有五类用语。

1、数数演算

  * 代表者加法

  ** 代表者算式

  >>>2 * 5

  //10

  >>>2 ** 5

  //32

  2、表达式实参

  *args和**kwargs主要用于表达式定义。

你可以将不定数量的参数传递给一个表达式。不定的意思是:预先并不晓得,表达式使用者会传递多少个参数给你,所以在这个场景下使用这三个关键字。其实并不是必须写成*args和**kwargs。*才是必须的,你也可以写成*ar和**K。而写成*args和**kwargs只是一个通俗的命名约定。

  python表达式传递参数的方式有两种:

  位置参数(positional argument)

  关键词参数(keyword argument)

*args与**kwargs的区别,两者都是python中的可变参数:

  *args表示任何多个无名参数,它本质是一个tuple。

  **kwargs表示关键字参数,它本质上市一个dict。

如果同时使用*args和**kwargs时,必须*args参数列要在**kwargs之前。

def pt(*args,**kwargs)print('a:',args, 'k:',kwargs)pt(5,10, 'args='6, 'kwargs='9)a:(5,10),k:{'args='6, 'kwargs='9}

 3、表达式实参

它们三个除了用作数数之外还有一个形式就是用作表达式的实参,格式为*args和**kwargs。其中*args是一个元组类型,代表者多个匿名参数;**kwargs是一个字典类型,代表者关键词参数,示例如下:

def pt(info,info1)print('info:',info)print('info1:',info1)args = (5,10) # 解引用pt(*args) # 参数传递info:5,info1:10kwargs={'info1:'10, 'info:'5}pt(**kwargs)info:10,info1:5

 4、序列解包

  序列解包只需要用到*,序列解包没有**。

x,*y=5,10,15x=5y=[10,15]
举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务