对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实现ATM系统

    下面是详细讲解“Python实现ATM系统”的完整攻略。 1. 需求分析 在实现ATM系统之前,需要先进行需求分析。具体来说,我们需要考虑以下几个方面的需求: 用户登录和认证; 查看余额; 存款和取款; 转账和还款。 2. 类和数据库设计 在了解完需求之后,我们需要对ATM系统进行类和数据库设计。具体来说,我们可以设计以下几个类: 用户类; 账户类; ATM…

    python 2023年5月19日
    00
  • python 使用正则表达式按照多个空格分割字符的实例

    以下是“Python使用正则表达式按照多个空格分割字符的实例”的完整攻略: 一、问题描述 在Python中,我们可以使用正则表达式按照多个空格分割字符串。本文将详细讲解如何使用Python正则表达式按照多个空格分割字符串,并提供两个示例说明。 二、解决方案 2.1 使用正则表达式按照多个空格分割字符串 在Python中,我们可以使用正则表达式按照多个空格分割…

    python 2023年5月14日
    00
  • Python代码中如何读取键盘录入的值

    当我们需要从键盘输入一些信息时,我们就需要使用Python中的input函数。 1. input函数的基本用法 input函数用于从标准输入中读取一下用户输入的内容,其基本语法如下: input(prompt) 其中,prompt是一个可选参数,表示提示文本。它会显示在输入框之前,告诉用户需要输入什么内容。用户输入完成后,input函数将其作为一个字符串返回…

    python 2023年6月5日
    00
  • Python scrapy爬取小说代码案例详解

    Python scrapy爬取小说代码案例详解 本文将详细介绍使用Python的scrapy框架实现小说网站爬取的过程。使用Python进行网络爬虫开发,scrapy框架是一个强大的工具。 安装scrapy 使用pip安装scrapy视频,命令如下: pip install scrapy 创建scrapy项目 使用命令行创建项目: scrapy startp…

    python 2023年5月14日
    00
  • python实现MD5进行文件去重的示例代码

    下面是详细的“Python实现MD5进行文件去重的示例代码”的攻略。 1. 原理简介 MD5(Message-Digest Algorithm 5,信息-摘要算法5)是一种常用的哈希散列函数,它可以将任意长度的消息映射为一个固定长度的消息摘要(通常为128位),并且在不同的消息输入情况下得到的输出值具有很高的随机性,互不相同。因此,在文件去重的场景中,可以根…

    python 2023年6月3日
    00
  • Object arrays cannot be loaded when allow_pickle=False的问题

    “Object arrays cannot be loaded when allow_pickle=False”的问题一般出现在使用numpy库的load函数时。该问题的产生原因是numpy.load函数默认是禁止加载文件中包含pickle的数据类型的,因为它容易受到恶意代码的攻击。因此,在打开二进制文件时需要通过设置参数allow_pickle=True来…

    python 2023年6月2日
    00
  • 通过示例学习python中os模块的使用

    下面我来详细讲解“通过示例学习Python中os模块的使用”的攻略。实现该攻略的步骤包括:学习并理解python中os模块的用途、功能和常用方法,根据需要编写示例代码并进行调试。 什么是os模块? os模块是Python自带的一个用于访问操作系统功能的标准库,提供了对文件、文件夹等系统资源的访问、操作及管理。使用os模块可以完成如下操作: 文件和目录操作:创…

    python 2023年6月2日
    00
  • 如何将一个CSV格式的文件分割成两个CSV文件

    以下是将CSV文件分割成两个CSV文件的攻略。 准备工作 要将CSV文件分割成两个CSV文件,你需要确保你的电脑上有Python环境。如果你没有安装Python,请先安装Python,然后继续阅读本文档。 第一步:读取CSV数据 我们首先需要读取原始的CSV数据。这可以通过Python的csv模块来完成。代码示例: import csv with open(…

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