Python3学习笔记

简介: Python3学习笔记

元组所指向的内存实际上保存的是元组内数据的内存地址集合(即 t[0], t[1]...t[n] 的内存地址),且元组一旦建立,这个集合就不能增加修改删除,一旦集合内的地址发生改变,必须重新分配元组空间保存新的地址集(元组类似 C 语言里的指针数组,只不过这个数组不能被修改)。

测试下面代码:

print("连接前:")

t1=(1,2,"3")

t2=("4",5,["d1","d2"])

print("t1=",t1)

print("t2=",t2)

print("t1:",id(t1))

print("t2:",id(t2))

print("t1[0]:",id(t1[0]))

print("t1[1]:",id(t1[1]))

print("t1[2]:",id(t1[2]))

print("t2[0]:",id(t2[0]))

print("t2[1]:",id(t2[1]))

print("t2[2]:",id(t2[2]))

print("连接后:")

t1= t1+t2

print("t1(t1+t2):",id(t1))

print("t1[0]:",id(t1[0]))

print("t1[1]:",id(t1[1]))

print("t1[2]:",id(t1[2]))

print("t1[3]:",id(t1[3]))

print("t1[4]:",id(t1[4]))

print("t1[5]:",id(t1[5]))

t1[5].append("d3")

print("t1[5]增加d3:")

print("t1[5]=",t1[5])

print("t1[5]:",id(t1[5]))

print("t2=",t2)

输出:

连接前:

t1=(1,2,'3')

t2=('4',5,['d1','d2'])

t1:1719219799168

t2:1719219799528

t1[0]:1378249760

t1[1]:1378249792

t1[2]:1719200188208

t2[0]:1719199042336

t2[1]:1378249888

t2[2]:1719219441608

连接后:

t1(t1+t2):1719222365256

t1[0]:1378249760

t1[1]:1378249792

t1[2]:1719200188208

t1[3]:1719199042336

t1[4]:1378249888

t1[5]:1719219441608

t1[5]增加d3:

t1[5]=['d1','d2','d3']

t1[5]:1719219441608

t2=('4',5,['d1','d2','d3'])

测试结论:元组 t1t2 连接并赋值 t1 后,t1 地址发生变化(因地址集合变化),t1[0], t1[1], t1[2], t2[0], t2[1], t2[2] 地址不变且保存在连接后的 t1,元组内数据根据自身类型确定是否可修改值(t1[0]..t1[4] 分别为不可修改的数据类型,t1[5] 为可修改的列表),连接后 t1[5]t2[2] 地址一样,t1[5] 变化将会导致 t2[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学习笔记(二)

推荐镜像

更多