Python3学习笔记

简介: Python3学习笔记

元组不可变的前提是元组内只能包含单一元素,例如:字符串、数字等

但当元组中包含数组时,元组中的数组内容时可更改的,且元组的id未改变。

这意味着元组的内容可变,当然,这实际还是改变的是数组的值。

T =('google',[0,1,2,3,4])

print(id(T), T)

T[1][0]=99

print(id(T), T)

输出:

3212880643136('google',[0,1,2,3,4])

3212880643136('google',[99,1,2,3,4])


元组的装包与拆包

Python中,元组装包拆包是自动的,不需要任何函数,导致很多人对于函数返回值一会有括号一会没括号非常迷惑

先看代码:

a=1,2,3

#它其实等价于下面的代码

a=(1,2,3)

#因为等号左边只有1个变量,而等号右边有3个值,因此自动装包成为一个元组

再看下面的代码:

a,b,c=(1,2,3)

#自动拆包,得到a=1,b=2,c=3

当函数return的时候,其实只能return一个值,并不能return多个值

有人会问,我return了多个值也没有报错啊,运行很正常

那正是因为Python将多个返回值自动装包造成的

因此当你返回多个变量,而外面只用一个变量去接收,会接收到一个元组

而当你用多个变量去接,就能对应的接收到每个值,这是因为自动拆包

理解了这一点,对于理解函数返回值、字典中的键值对等等都是有帮助的

=========================================================

为了加强理解,再看最后一组代码:

a=10

b=20

a,b=b,a,1

执行会报错:too many values to unpack

这里很明显的,告诉你元组里有3个值需要拆包,而你只用2个值去接收,证明了元组确实执行了一个拆包的动作

相关文章
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
3308 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
666 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
662 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
206 1
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
565 1
|
索引 Python
Python学习笔记编程小哥令狐~持续更新、、、(上)
Python学习笔记编程小哥令狐~持续更新、、、(上)
168 2
|
索引 Python
【免费分享编程笔记】Python学习笔记(一)
【免费分享编程笔记】Python学习笔记(一)
109 1
|
存储 Python
Python学习笔记编程小哥令狐~持续更新、、、 (下)
Python学习笔记编程小哥令狐~持续更新、、、 (下)
117 1
|
Java 编译器 Go
Python学习笔记--- day01计算机基础和环境搭建(一)
Python学习笔记--- day01计算机基础和环境搭建(一)
215 2
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
152 0
【免费分享编程笔记】Python学习笔记(二)

推荐镜像

更多