## 3.1 Python中的数据类型和变量 ## ---------- ### Python标准数据类型 ### - 程序运行要依赖一些数据,使用者也需要用数据来控制程序。Python 定义了五个标准数据类型,用于存储不同类型的数据。 > Numbers(数字) > String(字符串) > List(列表) > Tuple(元组) > Dictionary(字典) - 例如,一个人的 *年龄* 可以用 *数字* 来存储,他的 *名字* 可以用 *字符串* 来存储,而他 *出版的书* 可以按照 *出版顺序* 用 *列表* 来存储。 ### 变量 ### - 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。 - python中,变量不需要声明类型,一个变量由一个变量名称和变量的数据组成。 - 每个变量在使用前都必须赋值,等号(=)用来给变量赋值,变量被赋值以后才会真正意义上存在。例如: ```python game ID = 86 # 赋值整型变量 score = 99.5 # 浮点型 name = "Jack" # 字符串 ``` - 等号(=)运算符左边是一个 *变量名* ,等号(=)运算符右边是存储在变量中的值。 - 使用变量时,可以直接对 *变量名* 进行操作。 ***温馨提示***:Python中严格控制大小写。 #### python数字 #### - 数字数据类型用来存储数值,为不可改变的数据类型。 - Python支持四种不同的数字数据类型: > int(有符号整型) > long(长整型[也可以代表八进制和十六进制]) > float(浮点型) > complex(复数) 在赋值时,Python会根据数值判断数字数据类型。例如: ```python int_num = 86 # 有符号整形 long_num = 51924361L # 长整形 float_num = 15.20 # 浮点型 ``` ##### 数字类型的转换 ##### - int(x) 将 x 转换为一个整数。 - float(x) 将 x 转换到一个浮点数。 - complex(x) 将 x 转换到一个复数,实数部分为 x ,虚数部分为 0。 #### python布尔值 #### - Python中的布尔值可以直接赋值于变量。例如: ```python s = True #真 s = False #假 ``` #### python字符串 #### - 字符串或串(String)是用来存储文本的数据类型,是由数字、字母、下划线组成的一串字符。 - 在赋值时,需要用单引号或者双引号注明值,例如: ```python s0 = 'A' s1 = 'microbit' s2 = "i_love_python" ``` - 字符串取值时可以直接使用变量名。 - 取值字符串中某个或某几个字符时使用 `变量 [头下标:尾下标]`的方法来完成,意为从头下标值开始取值到尾下标值之前(不包括尾下标值)停止。例如: ```python s1 = 'microbit' s2 = s1[0:1] #从s1的第二位开始取值到第三位之前,总共一个值 #s2的值为m s2 = s1[0:3] #从s1的第一位开始取值到第四位之前,总共三个值 #s2的值为mic s2 = s1[2:4] #从s1的第三位开始取值到第五位之前,总共两个值 #s2的值为cr ``` ***注意:*** 在计算机语言中,数字的开始是0,故字符串的首字符位置为0,列表首位也是0。 #### List列表 #### - List(列表) 是 Python 中存放复合数据的数据类型,列表用` [ ] `标识,是 python 最常用的复合数据类型。 - 列表可以完成大多数集合类的数据结构。它支持字符,数字,字符串甚至可以包含列表(即嵌套列表)例如: ```python people = [ 'Jack', 'howard',180 , 23,'china'] ``` - 调用列表中的值可以直接使用列表名,列表中值的切割也可以使用`列表 [头下标:尾下标]`,从左到右位置默认 0 开始,下标可以为空表示取到头或尾。例如: ```python people # 输出完整列表 people[0] # 输出列表的第一个元素 people[1:3] # 输出第二个至第四个元素之前的元素 people[2:] # 输出从第三个开始至列表末尾的所有元素 ``` ```python people = [ 'Jack', 'howard',180 , 23,'china'] people[0] = 'John' # 修改列表的第一个元素 #列表的值变为 #people = [ 'John', 'howard',180 , 23,'china'] ``` #### tuple元组 #### - tuple(元组)是另一个数据类型,类似于List(列表),用`( )`标识,最主要的区别为,元组定义后无法改变数值。 ```python people = ( 'John', 'howard',180 , 23,'china') people[0] = 'John' #这条修改数据的语句是非法的 ``` #### dictionary字典 #### - dictionary(字典)是除列表以外python之中最灵活的内置数据结构类型。字典用`{ }`标识,由索引(key)和它对应的值(value)组成。 - 字典中的索引(key)值为确定不可改变的,如果一个字典中有多个相同索引,调用字典时会输出最后一个索引的值。 ```python tinydict = {'name': 'John','code':6734, 'Age': 18} ``` - 字典和列表最大区别为:字典当中的元素是通过索引来存取的,例如: ```python tinydict = {'name': 'John','code':6734, 'Age': '18'} print tinydict['name'] # 输出字符为John print tinydict # 输出完整的字典 print tinydict.keys() # 输出所有索引 print tinydict.values() # 输出所有值 tinydict['Age'] = 8 # 修改字典中索引Age的值为8 ``` ***温馨提示:***索引(key)也可以称之为键值。