9. 3.1 Python中的数据类型和变量


9.1. Python标准数据类型

  • 程序运行要依赖一些数据,使用者也需要用数据来控制程序。Python 定义了五个标准数据类型,用于存储不同类型的数据。

Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典)

  • 例如,一个人的 年龄 可以用 数字 来存储,他的 名字 可以用 字符串 来存储,而他 出版的书 可以按照 出版顺序列表 来存储。

9.2. 变量

  • 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。

  • python中,变量不需要声明类型,一个变量由一个变量名称和变量的数据组成。

  • 每个变量在使用前都必须赋值,等号(=)用来给变量赋值,变量被赋值以后才会真正意义上存在。例如:


	game ID = 86 # 赋值整型变量
	score = 99.5 # 浮点型
	name = "Jack" # 字符串
  • 等号(=)运算符左边是一个 变量名 ,等号(=)运算符右边是存储在变量中的值。

  • 使用变量时,可以直接对 变量名 进行操作。

温馨提示:Python中严格控制大小写。

python数字

  • 数字数据类型用来存储数值,为不可改变的数据类型。

  • Python支持四种不同的数字数据类型:

int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数)

在赋值时,Python会根据数值判断数字数据类型。例如:


	int_num = 86 # 有符号整形
	long_num = 51924361L # 长整形
	float_num = 15.20 # 浮点型

数字类型的转换

  • int(x) 将 x 转换为一个整数。

  • float(x) 将 x 转换到一个浮点数。

  • complex(x) 将 x 转换到一个复数,实数部分为 x ,虚数部分为 0。

python布尔值

  • Python中的布尔值可以直接赋值于变量。例如:


	s = True	#真
	s = False	#假

python字符串

  • 字符串或串(String)是用来存储文本的数据类型,是由数字、字母、下划线组成的一串字符。

  • 在赋值时,需要用单引号或者双引号注明值,例如:


	s0 = 'A'
	s1 = 'microbit'
	s2 = "i_love_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 最常用的复合数据类型。

  • 列表可以完成大多数集合类的数据结构。它支持字符,数字,字符串甚至可以包含列表(即嵌套列表)例如:


	people = [ 'Jack', 'howard',180 , 23,'china']
  • 调用列表中的值可以直接使用列表名,列表中值的切割也可以使用列表 [头下标:尾下标],从左到右位置默认 0 开始,下标可以为空表示取到头或尾。例如:


	people               # 输出完整列表
	people[0]            # 输出列表的第一个元素  
	people[1:3]          # 输出第二个至第四个元素之前的元素  
	people[2:]           # 输出从第三个开始至列表末尾的所有元素

	people = [ 'Jack', 'howard',180 , 23,'china']
	people[0] = 'John'   # 修改列表的第一个元素  
	#列表的值变为
	#people = [ 'John', 'howard',180 , 23,'china']

tuple元组

  • tuple(元组)是另一个数据类型,类似于List(列表),用( )标识,最主要的区别为,元组定义后无法改变数值。


	people = ( 'John', 'howard',180 , 23,'china')
	people[0] = 'John'       #这条修改数据的语句是非法的  

dictionary字典

  • dictionary(字典)是除列表以外python之中最灵活的内置数据结构类型。字典用{ }标识,由索引(key)和它对应的值(value)组成。

  • 字典中的索引(key)值为确定不可改变的,如果一个字典中有多个相同索引,调用字典时会输出最后一个索引的值。


	tinydict = {'name': 'John','code':6734, 'Age': 18} 
  • 字典和列表最大区别为:字典当中的元素是通过索引来存取的,例如:


	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)也可以称之为键值。