'''元组 Python内置的数据类型之一,是一个不可变序列 不可变序列:字符串 元组 没有增,删,改操作 可变序列: 列表,字典 可以对序列执行增,删,改操作,对象地址不发生更改''' '''元组的创建方式 直接小括号 t=('python','hello',98) 使用内置函数tuple() t=tuple(('python','hello',98)) 只包含一个元组的元素需要使用逗号和小括号 t=(10,)''' t='python','hello',98 #省略了小括号 print(t) print(type(t)) t=tuple(('python','hello',98)) print(t) t=(10,) #如果元组中只有一个元素,逗号不可省略 print(t) #创建空元组 t=() print(t) '''为什么要将元组设计成不可变序列 在多任务环境下,同时操作对象时不需要加锁 因此,在程序中尽量使用不可变序列 注意事项:元组中存储的是对象的引用 如果元组中对象本身是不可变对象,则不能在引用其他对象 如果元组中的对象是可变对象,则可变对象的引用不允许改变,但数据允许改变''' 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])) '''尝试将t[1]修改为100''' #t[1]=100 元组是不允许修改元素的 '''由于[20,30]列表,而列表是可变序列,所以可以向列表中添加元素,列表的内存地址不变''' t[1].append(100) #向列表中添加元素 print(t,id(t[1])) #元组的遍历 #元组是可迭代对象,可以使用for...in...来遍历 t=('python','hello',98) #获取元组元素的方式,使用索引 print(t[0]) print(t[1]) print(t[2]) #print(t[3]) #IndexError:tuple index out of range #遍历元组 for item in t: print(item)