什么是元组
不可变序列可变序列
- 不可变序列:字符串、元组
不变序列没有增删改操作 - 可变序列:列表、字典
可变序列可以对序列进行增删改操作,对象地址不发生改变
元组的创建方式
- 直接小括号
t=(‘python’,‘hello’,90) - 使用内置函数tuple()
t=tuple(‘python’,‘hello’,90) - 只包含一个元组的元素需要使用逗号和小括号
t=(10,)
t=('python','hello',90)
print(t)
print(type(t))
'''第二种创建方式,使用内置函数tuple()'''
t1=tuple(('python','world',90))
print(t1)
print(type(t1))
为什么要将元组设计成不可变序列
- 在多任务环境下,同时操作对象时不需要加锁
- 因此,在程序中尽量使用不可变序列
注意事项:元组中存储的是对象的引用 - 如果元组中对象本身不可变对象,则不能再引用其他对象
- 如果元组中对象是可变对象,则可变对象的引用不允许改变,但数据可以改变
t=(10,[20,30],9)
print(t)
print(type(t))
print(type(t[0]),id(t[0]))
print(type(t[1]),id(t[1]))
print(type(t[2]),id(t[2]))
'''尝试将t[1]修改为100'''
print(id(100))
t[1].append(100)
print(t[1],id(t[1]))
元组的遍历
t=('python','hello',98)
for item in t:
print(item)