对Python3 * 和 ** 运算符详解

对Python3 * 和 ** 运算符详解

在Python3中,***运算符代表不同的意义。下面我们就来详细讲解这两个运算符。

*运算符

*运算符在Python中有多种用法,最常见的用法是将它用于序列类型数据的解包操作。

序列解包

如果想要将一个序列类型的数据拆分成多个单独的对象,可以使用*运算符。

示例代码:

lst = [1, 2, 3, 4, 5]
*a, b, c = lst

print(a) # [1, 2, 3]
print(b) # 4
print(c) # 5

这里*a表示将a赋值为序列类型lst中除了最后两个元素以外的所有元素,即[1, 2, 3]bc则分别表示lst中的最后两个元素45

当然,*运算符除了用于序列解包,还可以用于字符串和字节码串解包。例如:

a, *bc, d = "hello"
print(a)  # "h"
print(bc) # ["e", "l", "l"]
print(d)  # "o"

可变参数

此外,*运算符还可以用于定义可变参数函数。在*args形式参数中,args前的星号表示将所有的位置参数转化为一个元组。这样在函数内部就可以通过遍历该元组来获取所有的位置参数。

示例代码:

def foo(*args):
    for arg in args:
        print(arg)

foo(1, 2, 3)

运行结果:

1
2
3

**运算符

**运算符则表示乘方操作。

示例代码:

a = 2 ** 3
print(a)  # 8

**运算符还可以用于字典的解包。例如:

示例代码:

d1 = {"a": 1, "b": 2}
d2 = {"b": 3, "c": 4}
d3 = {**d1, **d2} # 合并字典d1和d2
print(d3)  # {"a": 1, "b": 3, "c": 4}

这里将两个字典d1d2合并成了字典d3。如果有相同的键,后面字典中的值将会覆盖前面的值。

小结

在Python中,***运算符的作用及用法如下:

  • *运算符:
  • 序列解包;
  • 可变参数函数。

  • **运算符:

  • 乘方操作;
  • 合并字典。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:对Python3 * 和 ** 运算符详解 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • Python中的下划线详解

    下面是详细讲解“Python中的下划线详解”的完整攻略。 Python中的下划线详解 在Python中,下划线 “_” 是一个特殊的字符,它有不同的用法和含义。下面我们将逐一讲解它们。 单个下划线 单个下划线表示一个不重要的变量或者名称。在Python中,有时候我们定义了一个变量,但是在实际使用中,我们并不需要这个变量的值,只是为了占个位置。这个时候,就可以…

    python 2023年5月18日
    00
  • 使用 python 实现单人AI 扫雷游戏

    下面我给出详细的实现步骤。 确定游戏规则 首先,我们需要明确扫雷游戏的规则,包括地图的大小、雷的数量、雷区的标记等。假设我们的游戏规则如下: 地图大小为10 x 10,共有10个地雷; 游戏开始时,所有位置为未翻开状态,玩家需要逐一翻开每个格子; 每个格子有三种状态:未翻开、翻开且无雷、翻开且有雷; 玩家可以通过标记某些未翻开的格子为地雷位置,如果判断正确,…

    python 2023年5月19日
    00
  • python的常用模块之collections模块详解

    Python的常用模块之collections模块详解 1. 什么是collections模块 Python提供了一个比较重要的模块:collections,这个模块包含了一些特殊容器类型,比原生的list、dict、tuple、set等容器类型要强大得多。 collections是Python内建的一个集合模块,提供了一系列有用的集合类,是对dict、li…

    python 2023年5月13日
    00
  • 关于文章《爬取知网文献信息》中代码的一些优化

    哈喽大家好,我是咸鱼   之前写了一篇关于文献爬虫的文章Python爬虫实战(5) | 爬取知网文献信息   文章发布之后有很多小伙伴给出了一些反馈和指正,在认真看了小伙伴们的留言之后,咸鱼对代码进行了一些优化   优化的代码在文末,欢迎各位小伙伴给出意见和指正   问题 pycharm 设置 Edge 驱动器的环境报错“module ‘selenium.w…

    python 2023年4月27日
    00
  • Python保存MongoDB上的文件到本地的方法

    下面是Python保存MongoDB上的文件到本地的方法的完整实例教程,包含两个示例: 环境配置 首先需要安装pymongo和gridfs库,可以使用pip进行安装: pip install pymongo pip install gridfs 示例1:保存一张图片文件 这个示例展示了如何从MongoDB中读取一个图片文件,并将其保存到本地。首先,假设Mon…

    python 2023年5月13日
    00
  • PyQt5实现QLineEdit正则表达式输入验证器

    以下是PyQt5实现QLineEdit正则表达式输入验证器的完整攻略: 步骤1:安装PyQt5库 在使用PyQt5实现QLineEdit正则表达式输入验证器之前,需要安装PyQt5库。以下是一个示例代码: pip install PyQt5 在这个例子中,我们使用pip命令安装了PyQt5库。 步骤2:创建QLineEdit对象 在使用PyQt5实现QLin…

    python 2023年5月14日
    00
  • 基于Python实现商场抽奖小系统

    下面是基于Python实现商场抽奖小系统的完整攻略: 1. 确定系统需求 在开始编写代码前,我们需要先明确这个抽奖小系统需要具备哪些功能,例如: 能够生成一定数量的奖品,并将奖品存储在数据库中 能够在数据库中添加、删除、修改奖品的信息 能够在抽奖时从数据库中获取奖品信息,并展示给用户 能够实现抽奖过程,并在最终抽中奖品后将相关信息存储在数据库中 能够展示抽奖…

    python 2023年6月13日
    00
  • 详解Python中List、Tuple、Set和Dictionary的区别和应用

    下面是关于Python中List、Tuple、Set和Dictionary的详细讲解: List List(列表)是Python中的一种基本数据类型,它可以存储任意类型的数据,也可以随时添加、删除或更改其中的元素。List的定义使用方括号[],其中的元素使用逗号分隔。示例代码如下: # 声明一个列表 mylist = [1, 2, 3, "hell…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部