一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第14天,点击查看活动详情。
0 环境
- 编辑器:idea
- 系统版本:win10
- python版本:3.9.6
1 基本概念
通过之前的简介,我们知道了,tuple一旦初始化了就不能修改。
tuple的基本格式:变量名 = (元素, 元素....),注意这里需要注意的,和列表的[]的不一样,它是()括号括起来的,既然初始化值后,就不能更改了,那么列表的那种插入或追加都无效了。若我们执意追加呢,如下图,会提示你的。也就是说:你有读取的权限,但无权写入。
2 元组获取
值得一提的是:元组获取和列表的获取一样的,索引值可正可负。并且不能被赋值,会报错,试试就知道。
def tuple_demo():
a = ("a", "b", "c")
print("a ==>", a)
print("a ==>", a[0])
print("a ==>", a[1])
print("a ==>", a[2])
print("a ==>", a[-1])
既然只读,不能新增或修改,它有啥用呢,但是一个文件是可读不可写,也就是说,文件的内容不会被破坏,文件的不可变,是不是说明文件会更加安全的。假如没有新增或修改的点,可以直接用元组。
3 元组的一些坑
比如定义不是说,初始化值吗,那么我直接一个空元组,它会返回一个空元组。
当定义c = (1)时,会直接返回1,是不是就说明了我们定义了一个为1的数字,但我们想要是(1),怎么样才可以区分呢。
如下:变量名 = (元素,)。这样歧义解除了,就很nice。当有一个元素的元组,需要加一个逗号。
4 元组总结
元组属于初始化即不能修改,只读而不能写入。但是读取的操作和列表的一样。是不是可以这么类比,就是列表的读取功能,这样做,是为了代码安全。但是初始化的方式和列表有点区别,别弄混了,比如元组是括号围住元素,而列表正常时[] ==> 会和它有区别的或list...。还有一些坑的地方,当括号里只有一个元素时,请在其后面加一个逗号,这样不会引起歧义(当你一个元素,且定义为数字,很容易很认为是数字返回,就达不到安全,预想的意思了)。注意这点,多个元素,不需要在最后面额外加逗号。