2.1.1 Python 3基本数据类型
Python 3中有6个标准的数据类型:数值(number)、字符串(string)、列表(list)、元组(tuple)、集合(set)、字典(dictionary)。本单元主要讲解数值类型,其他5种数据类型将在单元4讲解。
(1)数值
Python 3中数值有4种类型:整数(int),如3;浮点数(float),如1.23、3E-2;复数(complex),如1 + 2j、1.1 + 2.2j;布尔值(bool),如True。
(2)字符串
Python中单引号和双引号的使用方法完全相同,使用三引号("'''"或""""")可以指定一个多行字符串。Python没有单独的字符类型,一个字符就是长度为1的字符串。
1.1.1 搭建Python开发环境
以下都是正确的字符串表示方式
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""
反斜杠"\"可以用来转义字符,通过在字符串前加r或R可以让反斜杠不发生转义。例如,r"this is a line with \n",则\n会显示,并不是换行。Python允许处理Unicode字符串,在字符串前加u或U即可,例如,u"this is an unicode string"。
字符串可以根据输入的内容自动转换,例如"this " "is " "string"会被自动转换为this is string。字符串可以用运算符"+"连接在一起,用运算符"*"重复显示。
2.1.2 Python 3的数值类型
1.整数
- 整数可以是正整数、负整数和0,不带小数点。
- Python 3中整数是没有限制大小的。Python 3只有一种整数类型,并没有Python 2中的long类型。
- 整数可以使用十进制、十六进制、八进制和二进制来表示。
2.浮点数
- 浮点数由整数部分与小数部分组成,也可以使用科学记数法表示,例如:0.5、1.414、1.732、3.1415926、5e2。
3.复数
- Python还支持复数,复数由实数部分和虚数部分构成,虚数部分使用j或J表示。复数可以用a + bj或者complex(a,b)表示,实部a和虚部b都是浮点数,例如2.31+6.98j。
4.布尔值
- 在Python 2中是没有布尔值的,它用数字0表示False,用1表示True。Python 3中,把True和False定义成了关键字,但它们的值还是1和0,可以和数字相加。
2.1.3 Python 3数据类型的判断
1.使用函数type()判断变量所指的对象类型
函数 type() 可以用来判断变量所指的对象类型,例如:
>>>a, b, c, d = 20, 5.6, 4+3j, True
>>>print(type(a), type(b), type(c), type(d))
运行结果如下
<class 'int'> <class 'float'> <class 'complex'> <class 'bool'>
2.使用函数isinstance()判断变量所指的对象类型
函数 isinstance () 也可以用来判断变量所指的对象类型,例如:
>>>x = 123
>>>isinstance(x, int)
运行结果如下:True
2.1.4 Python数据类型的转换
2.2.1 Python算术运算符和运算优先级
1.Python的算术运算符
2.Python算术运算符的运算优先级
Python算术运算符的运算优先级按由高到低顺序排列如下
2.2.2 Python算术表达式
1.包含单一算术运算符的算术表达式
包含单一算术运算符的算术表达式的实例如下。
Python可以使用"**"运算符来进行幂运算,例如:
浮点数得到Python完全的支持,不同类型的数值混合运算时,Python会把整数转换为浮点数。
2.包含多种算术运算符的算术表达式
2.包含多种算术运算符的算术表达式
数值的除法包含两个运算符。"/"返回一个浮点数。如果只想得到整数的结果,丢弃可能的分数部分,可以使用"//"取整除,返回一个整数。
2.3.1 Python的赋值运算符
2.3.2 变量定义和赋值
1.变量赋值的基本语法格式
- 简单赋值运算符用于给变量赋值,变量赋值的基本语法格式如下。
<变量名>=<变量值>
-
简单赋值运算符左边是一个变量名,右边是存储在变量中的值。变量命名应遵循Python一般标识符的命名规则,变量值可以是任意类型的数据。
-
变量赋值之后,Python解释器不会显示任何结果。例如:
>>>width = 20 >>>height = 5*9 >>>width * height 900
2.定义变量
程序中当变量被指定一个值时,对应变量就会被创建。例如:
>>>var1 = 6
>>>var2 = 10.5
>>>print("var1=",var1)
>>>print("var2=",var2)
运行结果如下
2.3.2 变量定义和赋值
【实例2-1】演示定义变量与赋值
变量在使用前必须先"定义"(赋予变量一个值),否则会出现错误。
>>> n #尝试访问一个未定义的变量
运行结果如下。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined
3.变量指向不同类型的对象
Python是一种动态类型的语言,变量所指向对象的类型可以随时变化。一个变量可以通过赋值指向不同类型的对象。
Python 中,使用内置函数 id() 返回变量所指的内存空间的地址值。
在 Python 中,允许多个不同变量名的变量指向同一个内存空间,例如:
>>>x=100
>>>y=100
>>>print("变量x指向的内存空间的地址为:",id(x))
>>> print("变量y指向的内存空间的地址为:",id(y))
运行结果如下。
从以上的运行结果可以看出,两个变量x、y先后赋相同的整数值,指向内存空间的地址值相同。
4.为多个变量赋值
- Python允许同时为多个变量赋值。
>>>a = b = c = 1
- 以上语句,创建一个整数对象,值为1,从后向前赋值,3个变量被赋予相同的数值。
- 也可以为多个对象指定多个变量。
>>>a, b, x = 1, 2, "LiMing"
- 以上语句,两个整数值1和2赋值给变量a和b,字符串"LiMing"赋值给变量x
5.变量"_"的赋值
在IDLE交互模式中,一个下画线"_"表示解释器中最后一次显示的内容或最后一次语句正确执行的输出结果,这样在把Python程序作为一个桌面计算器使用时,使后续计算更方便,例如:
Python还有常量的概念,所谓常量就是程序运行过程中值不会发生改变的量,例如数学运算中的圆周率。在Python中,没有提供定义常量的保留字。
2.3.3 使用del语句删除对象引用
- del语句的语法如下
del var1[,var2[,var3[...,varN]]]
- 可以通过使用del语句删除单个或多个对象。例如:
>>>var=2
>>>del var
>>>print("var=",var)
- 运行结果如下
【任务2-1】计算并输出购买商品的实付总额与平均价格等数据
【任务描述】
【任务实施】1.创建PyCharm项目****Unit02
成功启动PyCharm后,在其主窗口选择【File】菜单,在弹出的下拉菜单中选择【New Project】,打开【Create Project】对话框,在该对话框的"Location"文本框中输入"D:\PycharmProject\Unit02",在【Create Project】对话框中单击【Create】按钮,完成PyCharm项目Unit02的创建。
4**.运行Python程序**
在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择"2-1"选项,程序文件2-1.py开始运行。
程序文件2-1.py的运行结果如下。
2.4.1 时间元组
gmtime()、localtime()、strptime()都是以时间元组(struct_time)的形式返回,很多Python函数使用一个元组组合起来的9组数字处理时间,也就是struct_time元组,其9组数字的含义和取值如表所示。
2.4.2 time模块
1.time模块包含的内置函数
time模块包含的内置函数如电子活页所示,既有进行时间处理的函数,也有转换时间格式的函数。
2.获取当前时间
从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime()之类的函数即可。例如:
运行结果:
3.获取格式化的时间
非常简单的获取可读的格式化时间的函数是asctime()。
4.格式化日期数据
可以使用time模块的strftime()函数来格式化日期数据,其基本格式如下。
time.strftime(fmt[,tupletimet])
把一个代表时间的元组或者struct_time元组(例如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果tupletime未指定,将传入time.localtime(),如果元组中任意一个元素取值超出允许范围,将会抛出ValueError异常。
2.4.3 datetime模块
1.datetime模块中定义的类
2.datetime模块中定义的常量
【任务2-2】输出当前日期和时间
【任务描述】
【任务实施】1.创建Python程序文件****2-2.py
在PyCharm主窗口右键单击已建好的PyCharm项目"Unit02",在弹出的快捷菜单中选择【New】-【Python File】。在打开的【New Python file】对话框中输入文件名"2-2",然后双击"Python file"选项,完成Python程序文件的新建任务。同时PyCharm主窗口显示程序文件2-2.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。
2**.编写Python程序代码**
在新建文件2-2.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件2-2.py的代码如电子活页所示。
3**.运行Python程序**
在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择"2-2"选项,程序文件2-2.py开始运行。
程序文件2-2.py的运行结果如下。
【任务2-3】计算与输出购买商品的实付总额等数据
【任务描述】
【任务实施】1.创建Python程序文件****2-3.py
在PyCharm主窗口右键单击已建好的PyCharm项目"Unit02",在弹出的快捷菜单中选择【New】-【Python File】。在打开的【New Python file】对话框中输入文件名"2-3",然后双击"Python file"选项,完成Python程序文件的新建任务。同时PyCharm主窗口显示程序文件2-3.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。
2**.编写Python程序代码**
在新建文件2-3.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件2-3.py的代码如电子活页所示。
3**.运行Python程序**
在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择"2-3"选项,程序文件2-3.py开始运行。
程序文件2-3.py的运行结果如下。