将一个元组放入type函数去验证的时候,返回的就是一个tuple的单词。同时tuple也可以定义一个元组。和其它类型一样,元组也有属于自己的符号,通过定义一个小括号,也可以创建一个元组。
元组中的元素或者成员就存在于这个小括号之中。
这里有一点是和列表是有区别的: 如果一个元组中,只有一个成员,那么这个成员后面必须带上一个逗号。否则python的解释器将不认定它是一个元组类型。
对于列表就不存在这个问题了,如果列表中只有一个成员,它不需要跟随一个逗号的。
元组的不可变性就导致元组在创建之初,就已经确定了里面的成员内容与数量,当创建之后,元组无法对它内部的成员进行增加、删除以及修改,也造成了元组功能的单一化。所以对内存的消耗也就小一些了。
如图,元组也是可以累加的。 定义两个元组a和b,当将a重新赋值,用a+b的时候。原来的a的内存地址和看到的新的a的内存地址是不同的。
所以,a这个变量,改变的是这个变量值,而并不是在原来的变量值上进行修改。
在元组中存放了两个列表,元组中的成员是列表。这些列表是不可以被修改的。虽然列表是可以改变的,但是它成为元组的成员之后,元组的大门就已经给它关上了,它们无法再获得修改的机会。
列表中创建元组:列表中的元组,一旦被创建,也是不能被修改的。
# coding:utf-8
tuple_test=(1,2,3)
print(tuple_test)
print(type(tuple_test))
tuple_01=()
print(type(tuple_01))
print(bool((1,)))
print(len(tuple_01))
max_count=max(tuple_test)
print(max_count)
min_count=min(tuple_test)
print(min_count)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/tuple_test.py
(1, 2, 3)
<class 'tuple'>
<class 'tuple'>
True
0
3
1
进程已结束,退出代码为 0
如果一个元组中,只有一个元素,并且这个元素没有加逗号,那么类型就按照这个元素本身的类型而定义:
所以一定要把逗号加上,返回的才是元组类型。
用一个纯净的小括号来创建一个原始的元组是可以的:
但是当它里面有内容,且内容是唯一的时候,一定要加逗号。
用max和min,如果传进去对比的内容是空的,就会报错。因为没有数据让你进行对比。