一、拾遗
1、在Python中所有的数据都是围绕对象这个概念来构建的。
对象包含一些基本的数据类型,如:数字、字符串、列表、元组、字典等,所以说程序中存储的所有数据都是对象
每一个对象都具有以下特点:
例如:a = 1
一个身份(用id()命令查看,表示这个对象在内存中的地址)
一个类型(用type()命令查看这个对象的类型)
一个值 (通过变量名来查看。通过变量名引用的值,本例就是1)
2、字符串是可以被while和for循环遍历的。它们是根据字符串的索引遍历的。
3、工厂函数的概念
定义一个数据类型,如:x = 1,实际上调用的是x = int(1),说明凡是整型都是调用int()方法得出的结果,也就是说一个int()方法批量生产了许多许多整型,其它数据类型也是如此,这就是工厂函数的概念。
4、可变数据类型与不可变数据类型
定义一个数据类型,就创建了它的id、type、value。
若id变了,则等于创建了另外一个数据类型了,与原来的数据类型没有关系了。所以id不能变
若type变了,则相当于内存又开辟了一块空间存了一个值进去,与原来的数据类型没有关系了,所以type也不能变
唯一可变的就是value了。所以判断这个数据类型可变不可变就看value了
所以得出结论:区分一个数据类型是可变还是不可变数据类型,必须在id和type不变的情况下,只需要看它的value就可以了
关于可变打个通俗易懂的比方——租房子:
房东A出租自己的房子,租客到期走后,下一个租客就会住进来。房子和房东A不变,只是租客变,这所房子依然是房东A的,这就好比是python的可变数据类型。房子和房东相当于id和type,租客就相当于value,只有租客变化,这就是可变数据类型
例:更改整型的值来查看整型是否是可变类型
经上图所示,更改整型的值后,再对比之前的id都发现改变了,可见整型不是可变类型。
以上观点适用于python的所有数据类型
5、列表
(1)定义
例:
l = [ ]
这就是列表,里面可以存放多个以逗号分隔开的任意python的数据类型的值,这些值在列表中称为元素,列表是可变数据类型
(2)列表的取值:
列表的取值与字符串的取值是一样的,也是按照索引去取值。
例1:取出下面列表中第2个元素
l = ["xiaobai",18,"haha",[1,2,3],"hello"]
print(l[2]) # 中括号中加上索引值,就可以取出列表中的元素了。
例2:取出下面列表中元素[1,2,3]中的2个元素
l = ["xiaobai",18,"haha",[1,2,3],"hello"]
print(l[3][1]) # 先找到[1,2,3]所在的索引位置,再取出其第2个元素。
(3)列表的类型
综上图所示证明:列表属于可变数据类型
二、变量赋值操作
1、身份比较、类型比较、值比较:is
例:
2、变量的赋值操作:没有返回值
x = 1 # 这就是变量的赋值操作
print(x=1) # 若直接打印则会报错:TypeError: ‘x‘ is an invalid keyword argument for this function
3、链式赋值
例:
x = y = z = a = b = 10print(x,y,z,a,b)
打印结果为:10 10 10 10 10
4、多元赋值