广告位联系
返回顶部
分享到

python星号(*)和双星号(**) 函数动态参数匹配及解包操作方法

python 来源:互联网 作者:佚名 发布时间:2023-03-05 10:40:51 人浏览
摘要

1.乘法和幂运算符 ● 单个 * 用于乘法运算 ● 两个 ** 表示幂运算 1 2 3 4 2*3 6 2**3 8 2.函数接收数量不固定的入参 在定义函数时,我们可以定义一个以一个或两个星号为前缀的参数,以捕

1.乘法和幂运算符

● 单个 * 用于乘法运算
● 两个 ** 表示幂运算

1

2

3

4

>>> 2*3

>>> 6

>>> 2**3

>>> 8

2.函数接收数量不固定的入参

在定义函数时,我们可以定义一个以一个或两个星号为前缀的参数,以捕获不限制数量的参数输入。总结如下:
● 以 一个 * 为前缀的参数可以将任意数量的参数以元组形式传入
● 以两个 ** 为前缀的参数可以将任意数量的参数以字典形式传入

3.限制函数入参仅以关键字形式输入

1

2

3

4

def genius(age, *, first_name, last_name):

    print(first_name, last_name, 'is', age)

genius(28, first_name='Li', last_name='Bai')

# Li Bai is 28

上述代码采用了星号* 限制了星号之后的参数必须采用关键字形式来调用上述函数。

4. 可迭代对象解包操作

使用星号* 来解包可迭代对象。

1

2

3

4

5

6

A = [1, 2, 3]

B = (4, 5, 6)

C = {7, 8, 9}

L = [*A, *B, *C]

print(L)

# [1, 2, 3, 4, 5, 6, 8, 9, 7]

如果我们利用一个*作为dict 的前缀,它的key 将被解包;如果我们使用双星号** 作为前缀,其value 将被解包;此时我们必须显示使用key 来接收解包后的value 。

1

2

3

4

5

6

7

8

9

10

D = {'first': 1, 'second': 2, 'third': 3}

 

print(*D)

# first second third

 

# print(**D)

# TypeError: 'first' is an invalid keyword argument for print()

 

print('{first},{second},{third}'.format(**D))

# 1,2,3

5.扩展可迭代对象解包

解包的语法。

1

2

3

4

5

6

L = [1, 2, 3, 4, 5, 6, 7, 8]

a, *b = L

print(a)

# 1

print(b)

# [2, 3, 4, 5, 6, 7, 8]


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/m0_67316550/article/details/129307721
相关文章
  • 14个Python处理Excel的常用操作总结

    14个Python处理Excel的常用操作总结
    自从学了Python后就逼迫用Python来处理Excel,所有操作用Python实现。目的是巩固Python,与增强数据处理能力。 这也是我写这篇文章的初衷。废
  • python星号(*)和双星号(**) 函数动态参数匹配及解包
    1.乘法和幂运算符 ● 单个 * 用于乘法运算 ● 两个 ** 表示幂运算 1 2 3 4 2*3 6 2**3 8 2.函数接收数量不固定的入参 在定义函数时,我们可以定义
  • pandas读取Excel批量转换时间戳
    一、安装 1 pip install pandas 如果出报错,不能运行,可以安装 1 pip install xlrd 二、 代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import pandas as pd import
  • 用Python绘制一个仿黑洞图像

    用Python绘制一个仿黑洞图像
    黑洞图像大家都知道,毕竟前几年刚发布的时候曾火遍全网,甚至都做成表情包了。 问题在于,凭什么认为这就是黑洞的照片,而不是一个
  • python __init__与 __new__的区别
    一、构造函数 __init__ 与__new__ __new__ 作用: 创建对象,并分配内存 __init__ 作用: 初始化对象的值 注意: 1、与java相比,java只有一个构造器
  • 基于Python实现绘制一个足球

    基于Python实现绘制一个足球
    前情提要 如果想优雅地绘制一个足球,那首先需要绘制正二十面体:用Python绘制正二十面体 其核心代码为 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1
  • 关于keras中卷积层Conv2D的学习记录

    关于keras中卷积层Conv2D的学习记录
    keras中卷积层Conv2D的学习 关于卷积的具体操作不细讲,本文只是自己太懒了不想记手写笔记。 由于自己接触到的都是图像 处理相关的工作,
  • pycharm中执行.sh文件的方法

    pycharm中执行.sh文件的方法
    背景 在运行神经网络相关的实验的时候,通常要跑很多次实验,而每次实验运行时间很久,每运行完一次就需要手动再运行下一次实验。(
  • pycharm2022.2远程连接服务器调试代码实现

    pycharm2022.2远程连接服务器调试代码实现
    目的: 同步本地和服务器的全部或者部分文件 本地debug,服务器跑实验 需要条件: 服务器上已经创建好虚拟环境 你本地已经安装好pychar
  • numpy.unique()使用方法介绍
    numpy.unique() 函数接受一个数组,去除其中重复元素,并按元素由小到大返回一个新的无元素重复的元组或者列表。 1. 参数说明 1 numpy.unique
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计