![每个人的Python:数学、算法和游戏编程训练营](https://wfqqreader-1252317822.image.myqcloud.com/cover/137/44510137/b_44510137.jpg)
1.4.2 变量与数据类型
关于变量与数据类型的概念,前面我们提到过,变量用来存储数据,因此定义一个变量就意味着在内存中开辟一块用来存储的空间。Python中的变量本身没有类型,可以将任意类型的数据赋值给变量。
Python与大多数语言一样,符号“=”用来进行变量赋值,“=”也被称为赋值运算符。变量需要有一个名字,变量的命名非常重要,原则上变量的命名要见名知意,例如下面创建的变量:
# 姓名 name = "珲少" # 年龄 age = 29
在变量赋值时,Python支持同时对多个变量进行赋值,如下:
name = first_name = last_name = "Lucy" one, two, three = 1, 2, 3
在上面的代码中,变量name、first_name、last_name都被赋值为“Lucy”,变量one、two、three分别被赋值为1、2和3。
Python中有6种标准的数据类型,分别为数值、字符串、列表、元组、集合和字典。
数值类型用来存储数值数据,数值有3种,即整型数值、浮点型数值和复数数值。在编程中,使用最多的数值是整型数值,浮点型用来存储带小数的数值,复数更多用在数学运算中,示例代码如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T24_28353.jpg?sign=1738836955-VWEb4JekSOXmWzsVGevbQOQFsfslRZ98-0-0d8de5aa6917bb00ea41c3d5e082e9ee)
字符串类型是基本的文本数据类型,在Python中,通过索引可以方便地对字符串进行截取。字符串的索引有两种计算方式,从左到右计算时,最左边的索引为0,依次相加。从右向左计算时,最右边的索引为‒1,依次相减。示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T24_28355.jpg?sign=1738836955-wrmJhAq8j2EgOpK20nPNcAZ3PHUPjxEW-0-e5c959fcc0f166fc67748b020dd54853)
需要注意,进行字符串的截取时,设置的左边边界会被包含,右边边界不会被包含。使用类似的方式也可以通过下标获取到字符串中某个位置的字符,例如:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T24_11361.jpg?sign=1738836955-GR22UkNoshpzqLfm5gQWlIlO0scoLKmS-0-409f1730f110ce92dc4eb98a1319b24e)
关于字符串的截取,还有一个非常有意思的用法,我们可以设置截取字符串时参考的步长。假设我们需要将字符串每隔一个字符进行截取,可以这样做:
print(string[::2]) #以2为步长进行截取,结果为Hlool
Python中的字符串也可以直接进行相加与相乘操作,这在许多编程语言中是做不到的,我们可以直接将两个字符串相加来组成新的字符串,也可以将字符串乘以一个整数实现字符串的复制,例如:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T25_28357.jpg?sign=1738836955-zGhdqtQeFjXJ7tRJPEBnkgBFpM6zS7KG-0-5942aa0c7b0d3b72e5fca3cbc2c0ae09)
列表用来有序地存储一组数据,Python中使用中括号来创建列表,例如:
list = [1, "2", 3.14]
列表是一个复合的数据容器,其内部可以存放任意类型的数据。和字符串类似,列表也可以通过下标来获取其中的元素或者对其进行截取,也可以进行加法与乘法运算,示例代码如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T25_11423.jpg?sign=1738836955-t2sO06VLvyZZxDgTuVIqkgQ4KZmj1Chj-0-947e11d2a7d649f2c2883f58c6954d83)
元组是一种数据容器,其用法和列表很像,元组也是通过下标来进行访问的,可以截取,进行加法运算和乘法运算。不同的是,列表支持修改,通过下标可以修改列表中的元素,元组不能进行修改,请看下面的示例:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T25_28361.jpg?sign=1738836955-Z0dtrkLZOd59jteDysQGNARLxfGg7Xd8-0-1242346547ea28b1003cfbf343b5c929)
集合是Python中提供的一种无序的容器类型,其中的元素无序且不可重复,例如:
set = {1, 2, 3, 1} print(set) #{1, 2, 3}
在数学中,集合可以进行交集、并集、补集、非集等运算,Python中的集合也是一样,示例如下:
set1 = {1, 2, 3} set2 = {2, 3, 4} print(set1 | set2) #求并集 {1, 2, 3, 4} print(set1 & set2) #求交集 {2, 3} print(set1 - set2) #求集合1中包含,集合2中不包含的元素 print(set1 ^ set2) #求集合1和集合2并集的补集{1, 4}
字典用来进行键值对的存储,在字典中,值可以重复,键必须是唯一的。字典不是通过下标来获取元素的,而是通过键来获取值的,示例代码如下:
dic = {"a":1, "b": "Hello"} print(dic["a"]) #结果为 1
上面介绍的几种基本数据类型在Python中非常重要,它们是组成程序数据结构的基本骨架。