返回顶部
首页 > 资讯 > 后端开发 > Python >Python3 * 和 ** 运算符
  • 237
分享到

Python3 * 和 ** 运算符

运算符 2023-01-31 02:01:52 237人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

在 python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。1. 算数运算*  代表乘法** 代表乘方>>> 2 * 5 10 >>> 2 ** 5 322. 函数形参*args 和 **

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 fun(*args, **kwargs):
...     print('args=', args)
...     print('kwargs=', kwargs)
... 
>>> fun(1, 2, 3, 4, A='a', B='b', C='c', D='d')
args= (1, 2, 3, 4)
kwargs= {'A': 'a', 'B': 'b', 'C': 'c', 'D': 'd'}

使用 *args

>>> def fun(name, *args):
...     print('你好:', name)
...     for i in args:
...         print("你的宠物有:", i)
... 
>>> fun("Geek", "dog", "cat")
你好: Geek
你的宠物有: dog
你的宠物有: cat

使用 **kwargs

>>> def fun(**kwargs):
...     for key, value in kwargs.items():
...         print("{0} 喜欢 {1}".fORMat(key, value))
... 
>>> fun(Geek="cat", cat="box")
Geek 喜欢 cat
cat 喜欢 box

3. 函数实参

如果函数的形参是定长参数,也可以使用 *args 和 **kwargs 调用函数,类似对元组和字典进行解引用:

>>> def fun(data1, data2, data3):
...     print("data1: ", data1)
...     print("data2: ", data2)
...     print("data3: ", data3)
... 
>>> args = ("one", 2, 3)
>>> fun(*args)
data1:  one
data2:  2
data3:  3
>>> kwargs = {"data3": "one", "data2": 2, "data1": 3}
>>> fun(**kwargs)
data1:  3
data2:  2
data3:  one

4. 序列解包

序列解包 往期博客有写过,这里只列出一个例子,序列解包没有 **。

>>> a, b, *c = 0, 1, 2, 3  
>>> a  
0  
>>> b  
1  
>>> c  
[2, 3]

--结束END--

本文标题: Python3 * 和 ** 运算符

本文链接: https://lsjlt.com/news/185326.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python3 * 和 ** 运算符
    在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。1. 算数运算*  代表乘法** 代表乘方>>> 2 * 5 10 >>> 2 ** 5 322. 函数形参*args 和 **...
    99+
    2023-01-31
    运算符
  • Python3 运算符
    Python3 运算符 Python3 支持以下类型运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算 a , b = 2,3 运算符 说明 示例 ...
    99+
    2023-01-31
    运算符
  • 【Python3】Python运算符
    1 算数运算 运算符 描述 实例 + 加 - 两个对象相加 a+b 输出结果30 - 减 - 得到负数或是一个数减去另一个数 a-b 输出结果-10 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a*b 输出结...
    99+
    2023-01-31
    运算符 Python
  • Python3中* 和 ** 运算符怎么用
    这篇文章给大家分享的是有关Python3中* 和 ** 运算符怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil...
    99+
    2023-06-14
  • Python3逻辑运算符与成员运算符
    目录一·逻辑运算符二·成员运算符三·代码1·and2·or3·not4·in5&mi...
    99+
    2024-04-02
  • Python3 三目运算符
    Python 中没有像 C 语言中一样直接使用 xa:b 这样的三元表达式,但是它有两种替代方法:方法一a if x else b如果 x 为 True,返回 a;否则返回 b>>> 'True' if 2 > 1...
    99+
    2023-01-31
    运算符
  • python3第三天(运算符)
    python直接以下运算符:    算术运算符    比较(关系)运算符    赋值运算符    逻辑运算符    位运算符    成员运算符    身份运算符    运算符优先级算术运算符:    + 加    - 减    * 乘   ...
    99+
    2023-01-31
    运算符
  • Python3运算符有哪些
    本篇内容主要讲解“Python3运算符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python3运算符有哪些”吧! Python语言支持的运算符(1)算术运算符(2)比较(关系)运算符(...
    99+
    2023-06-02
  • Python3中的算术运算符详解
    目录一·算术运算符二·代码演示1·求和 +2·取差 -3·相乘 *4·相除 /5·取...
    99+
    2024-04-02
  • Python3中的逻辑运算符与成员运算符怎么用
    今天小编给大家分享一下Python3中的逻辑运算符与成员运算符怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2024-04-02
  • 基于Python3中运算符 **和*的区别说明
    我们知道**代表次方。 如下 >>>12 * 12 144 >>>12 ** 2 144 >>>a=1e200 >...
    99+
    2024-04-02
  • SQL 算术运算符和比较运算符
    目录一、算术运算符二、需要注意 NULL三、比较运算符四、对字符串使用不等号时的注意事项五、不能对 NULL 使用比较运算符请参阅 学习重点 运算符就是对其两边的列或者值进行运算(计算或者比较大小等)的符号。 使用算术运算符可以...
    99+
    2021-12-29
    SQL 算术运算符和比较运算符
  • 深入解析Python运算符:比较运算符、逻辑运算符、位运算符的用途和含义
    Python运算符解析:比较运算符、逻辑运算符、位运算符的用法和意义 一、比较运算符比较运算符用于比较两个值之间的关系,并返回一个布尔值(True或False)。下面是常见的比较运算符: 等于(==): 判断两个值是否相等,如...
    99+
    2024-01-20
    逻辑 运算符 比较
  • python3 中 and 和 or 运算规律
    在Python中,and和or是逻辑运算符,它们具有一定的运算规律。1. and运算规律:- 如果左侧表达式为False,则整个表达...
    99+
    2023-10-11
    python
  • Python学习-比较运算符和逻辑运算符
    比较运算符   ==  等于 - 比较对象是否相等 print(3 == 4); //False   !=  不等于 - 比较两个对象是否不相等 print(3 != 4); // True     <>...
    99+
    2023-01-30
    运算符 逻辑 Python
  • JavaScript算数运算符、运算符和操作数是什么
    今天小编给大家分享一下JavaScript算数运算符、运算符和操作数是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2024-04-02
  • 深入理解Python运算符:位移运算符、逻辑运算符和运算符优先级的实践手册
    进阶Python运算符的应用:位移运算符、逻辑运算符、运算符优先级的实践指南 Python是一门广泛应用于各个领域的高级编程语言,而掌握其中的运算符的使用是非常重要的。除了基本的算术运算符,Python还提供了许多其他类型的运算...
    99+
    2024-01-20
    优先级 逻辑运算符 位移运算符
  • JavaScript运算符、 算数运算符、赋值运算符怎么用
    这篇文章主要介绍“JavaScript运算符、 算数运算符、赋值运算符怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript运算符、 算数运算符、...
    99+
    2024-04-02
  • 详解TS对象扩展运算符和rest运算符
    目录概述对象 rest 属性对象扩展属性制作对象的浅拷贝keyof 和查找类型keyof 操作符号索引类型查询概述 TypeScript 2.1 增加了对 对象扩展运算和 rest ...
    99+
    2024-04-02
  • C#的sizeof运算符和三元运算符怎么用
    本文小编为大家详细介绍“C#的sizeof运算符和三元运算符怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#的sizeof运算符和三元运算符怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实例usi...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作