作为新手自学Python的第六天,技术低微,希望可以通过这种方式督促自己学习。
个人学习环境:python3.9,PyCharm 2021.3.2 (Community Edition)
———————————————————————————————————————————
元组是Python内置的数据结构之一,是一个不可变序列
不可变序列:字符串、元组
没有增、删、改操作
可变序列:列表、字典
可以对序列执行增、删、改操作,对象地址不发生更改
第一种:使用 '()' # 小括号可以省略
t = ('Python', 'World', 98)
第二种:使用内置函数tuple()
t1 = tuple(('Python', 'world',98))
只包含一个元组的元素需要使用逗号和小括号
# 空元组
tup1 = ()
tup3 = tuple()
# 一个元素,需要在元素后添加逗号
tup2 = (20, )
———————————————————————————————————————————
在多任务环境下,同时操作对象时不需要加锁
注意事项:元组中存储的是对象的引用
1)如果元组中对象本身是不可变对象,则不能再引用其他对象
2)如果元组中的对象是可变对象,则可变对象的引用不允许改变,但数据可以改变
t = (10, [20, 30], 9)
print(t)
print(type(t))
print(t[0], type(t[0]), id(t[0]))
print(t[1], type(t[1]), id(t[1]))
print(t[2], type(t[2]), id(t[2]))
"""
结果为:
(10, [20, 30], 9)
10 1989892401744
[20, 30] 1989897756032
9 1989892401712
"""
# 尝试将t[1]修改成100
print(id(100))
# t[1] = 100 # 元组不允许修改元素
# 由于[20, 30]是列表,列表为可变序列,所以可以向列表中添加元素,而列表的内存地址不变
t[1].append(100) # 向列表中添加元素
print(t, id(t[1]))
"""
结果为:
(10, [20, 30], 9)
10 2496152365648
[20, 30] 2496154115392
9 2496152365616
2496152557008
(10, [20, 30, 100], 9) 2496154115392
"""
———————————————————————————————————————————
元组是可迭代对象,所以可以使用for…in进行遍历
第一种:使用索引
t = ('Python', 'world', 98)
print(t[0])
print(t[1])
print(t[2])
第二种:遍历
t = ('Python', 'world', 98)
for item in t:
print(item)
"""
结果为:
Python
world
98
"""