上一篇文章中我们介绍了 python 语言的几个特点,并在最后留了一个问题,python 除了上下执行以外有没有其他的执行方式。
今天我们就来介绍 python 中的数据类型和控制流。
数据类型
python 中包含六个标准数据类型分别为:
Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。
不同的数据类型往往对应不同的用途。这个很好理解。比如你可以用一个字符串用来储存一个人的名字。
name = "六小登登"
但是想你存一个人的信息,比如姓名,年龄,身高等。这时候你用字符串就不合适了。此时字典是合适的。
person = {
name: "六小登登",
age: 18,
height: 180
}
字典适合存一个人的信息,那如何有很多人怎么办?此时列表就会起到作用。
people = [{name: "二狗"},{name: "狗蛋"}]
你看就是这么简单,什么容器装什么类型的水。彼此相互协作。
其中它们又可分为「可变类型」和「不可变类型」:
不可变类型 3 种:Number、String、Tuple。
可变类型 3 种:List、Set、Dictionary。
可变类型与不可变类型的区别就是一个值是可以改变的,一个是不可以改变的。有的人可能就会疑惑,不对呀登哥,我明明声明了一个变量 age = 18
,然后在后面把它改成 age = 20
是已经修改的呀,怎么会是不可变的呢。
其实在计算机的内容空间中,变量和值是分开的,而变量只是保存了一个值的引用而已,而引用指向值。
如果你修改的不可变量类型的值,它会重新创建一个新的值,然后把这个变量指向这个值。比如:
age = 18
id(age)
4478947024 //引用
age = 20
id(age)
4478947088 //引用
所以你会发现当你修改不可变类型的值后,它引用是不同的。而可变类型的引用却是相同的。
list = [1,2]
id(list)
4481387656 //此时的引用
list[0]=2
print(lis