Python自学第六天——元组

作为新手自学Python的第六天,技术低微,希望可以通过这种方式督促自己学习。

个人学习环境:python3.9,PyCharm 2021.3.2 (Community Edition)

———————————————————————————————————————————

元组是Python内置的数据结构之一,是一个不可变序列

不可变序列与可变序列

不可变序列:字符串、元组

没有增、删、改操作

可变序列:列表、字典

可以对序列执行增、删、改操作,对象地址不发生更改

1、元组的创建方式

第一种:使用 '()' # 小括号可以省略

t = ('Python', 'World', 98)

第二种:使用内置函数tuple()

t1 = tuple(('Python', 'world',98))

只包含一个元组的元素需要使用逗号和小括号

# 空元组
tup1 = ()
tup3 = tuple()
# 一个元素,需要在元素后添加逗号
tup2 = (20, )

———————————————————————————————————————————

2、为什么要将元组设计成不可变序列?

在多任务环境下,同时操作对象时不需要加锁

注意事项:元组中存储的是对象的引用

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
"""

———————————————————————————————————————————

3、元组的遍历

元组是可迭代对象,所以可以使用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
"""

你可能感兴趣的:(Python自学,python)