元祖其实和列表差不多,也是村一数组,只是一旦创建,便不能再修改,所以又叫只读列表
元祖的特性
1、不可变
2、元祖本身不可变,如果元祖中还包含其他可变元素,这些可变元素可以改变
元祖是一对小括号扩起来的数组,如:
user=("id","name","age")
他和数组一样可以通过下标来获取,如:
但是他和数组的区别是他是不可变的,如:
可以看到他已经报错了,并没有修改成功。
但是这样一个数组,他能做切片,切片其实是获取数据,并不是修改,如:
元祖虽然本省的数据不能修改,但是它里面一旦有可变的元素,他就可以修改,如:
a = (1,2,3,4,5,['a','b','n'])
a[6][0] = A
print(a)
>> (1,2,3,4,5,['A','b','n'])
通过测试可以看到他其实已经改变了,这其实和内存地址有关,因为元祖的亲代元祖,内存地址是不可变的,是我们无法修改的,虽然我们无法改变元祖亲代的内存地址,但是如上方元祖里面有一个列表,列表里面的元素不是元祖的亲代关系,所以他的内存地址是可变的。
一般元祖的应用场景为:项目的配置信息,数据库的连接地址信息等等。