参数解包 | Python从入门到精通:高阶篇之六

简介: 本节的重点是介绍了参数的解包,使用*/**对元组/字典进行解包。

不定长参数 | Python从入门到精通:高阶篇之五

参数解包(拆包)

定义一个函数

def fn4(a,b,c):
    print('a =',a)
    print('b =',b)
    print('c =',c)

fn4(1,2,3)

执行结果:

image.png

创建一个元组

t = (10,20,30)

此时我们想要把t中的元素传进函数,应该怎么做呢?

def fn4(a,b,c):
    print('a =',a)
    print('b =',b)
    print('c =',c)

t = (10,20,30)
fn4(t)

执行结果:

image.png

此时可以发现,程序出错了,我们不能这样去chu传递,这样只传递了一个参数,我们可以做如下的修改:

fn4(t[0],t[1],t[2])

执行结果:

image.png

这样我们就可以实现了,但是我们会发现,有点繁琐,如果参数过多,步骤会一直重复,我们希望可以直接把元组的参数赋值给形参。

fn4(*t) 

执行结果:

image.png

传递实参时,也可以在序列类型的参数前添加星号,这样他会自动将序列中的元素依次作为参数传递。但是需要注意的是,这里要求序列中元素的个数必须和形参的个数的一致,否则程序会出错。

def fn4(a,b,c):
    print('a =',a)
    print('b =',b)
    print('c =',c)

t = (10,20,30,40)
fn4(*t)

执行结果:

image.png

创建一个字典
将字典里的项进行参数传递。通过 \*\*来对一个字典进行解包操作

def fn4(a,b,c):
    print('a =',a)
    print('b =',b)
    print('c =',c)

d = {'a':100,'b':200,'c':300}
fn4(**d)

执行结果:

image.png

以上就是我们对于参数的介绍,之后会通过练习来巩固这部分内容。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

相关文章
|
1天前
|
网络协议 网络架构 Python
Python 网络编程基础:套接字(Sockets)入门与实践
【5月更文挑战第18天】Python网络编程中的套接字是程序间通信的基础,分为TCP和UDP。TCP套接字涉及创建服务器套接字、绑定地址和端口、监听、接受连接及数据交换。UDP套接字则无连接状态。示例展示了TCP服务器和客户端如何使用套接字通信。注意选择唯一地址和端口,处理异常以确保健壮性。学习套接字可为构建网络应用打下基础。
18 7
|
2天前
|
Python
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
|
2天前
|
机器学习/深度学习 数据采集 自然语言处理
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
|
4天前
|
C++ 计算机视觉 Python
【学习什锦】python中的匿名函数(lambda)与max、key参数
【学习什锦】python中的匿名函数(lambda)与max、key参数
10 3
|
4天前
|
Python 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
4天前
|
Python
Python3从零基础到入门(2)—— 运算符-2
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-2
|
4天前
|
Python C语言 存储
Python3从零基础到入门(2)—— 运算符-1
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-1
|
4天前
|
存储 C语言 Python
|
4天前
|
Python Windows
|
4天前
|
NoSQL 测试技术 API
Python 入门指南(七)(4)
Python 入门指南(七)
9 0