第1章Python概述
1、Python的安装
Python官网:https://www.python.org/downloads/
2、常用的Python编辑器
访问pycharm官方网址:http://www.jetbrains.com/pycharm/download/
第2章Python基础
1.良好的代码格式
1.1注释
(1)“#”表注释,用于说明当前行或之后代码的功能。
# 第一个注释print (“Hello, Python!”) # 第二个注释
(2)多行注释是由三对双引号或单引号包裹的语句,主要用于说明函数或类的功能
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
"""
1.2缩进
通过Tab键控制,也可使用空格控制。空格是Python3首选的缩进方法,一般使用4个表示一级缩进(Python3不允许混合使用Tab和空格)
if True:
print("True")
else:
print("False")
print("False")
1.3语句换行
Python会将圆括号、中括号和大括号中的行进行隐式连接
2.1标识符
若希望在程序中表示一些事物,开发人员需要自定义一些符号和名称,这些符号和名称叫做标识符
命名规则:
标示符由字母、下划线和数字组成,且数字不能开头。
Python中的标识符是区分大小写的。例如,andy和Andy是不同的标识符。
Python中的标识符不能使用关键字 。
2.2关键字
关键字是Python已经使用的、不允许开发人员重复定义的标识符。Python3中一共有35个关键字,每个关键字都有不同的作用。在Jupyter单元格中执行“help(”关键字“)”可查看关键字的声明。
3.1变量
标识内存单元的标识符又称为变量名,Python通过赋值运算符“=”将内存单元中存储的数值与变量名建立联系,即定义变量,具体语法格式如下:变量 = 值
3.2数据类型
(1)根据数据存储形式的不同,数据类型分为基础的数字类型和比较复杂的组合类型,其中数字类型又分为整型、浮点型、布尔类型和复数类型;组合类型分为字符串、列表、元组、字典等。
(2)Python内置的数字类型有整型(int)、浮点型(float)、复数类型(complex)和布尔类型(bool),其中int、float和complex分别对应数学中的整数、小数和复数;bool类型比较特殊,它是int的子类,只有True和False两种取值。
整型: 0 101 -239 False True
浮点型: 3.1415 4.2E-10 -2.334E-9
复数类型: 3.12+1.2.3j -1.23-93j
布尔类型: True False
(3)字符串是一个由单引号、双引号或者三引号包裹的、有序的字符集合。
- 列表是多个元素的集合,它可以保存任意数量、任意类型的元素,且可以被修改。Python中使用“[]”创建列表,列表中的元素以逗号分隔,示例如下:[1, 2, 'hello']
- 元组与列表的作用相似,它可以保存任意数量与类型的元素,但不可以被修改。Python中使用“()”创建元组,元组中的元素以逗号分隔,示例如下:(1, 2, 'hello'])
- 集合与列表和元组类似,也可以保存任意数量、任意类型的元素,不同的是,集合使用“{}”创建,集合中的元素无序且唯一。示例如下:{'apple', 'orange', 1}
- 字典中的元素是“键(Key):值(Value)”形式的键值对,键不能重复。Python中使用“{}”创建字典,字典中的各元素以逗号分隔,示例如下:{"name": "zhangsan", "age": 18}
3.3变量的输入与输出
程序要实现人机交互功能,需能从输入设备接收用户输入的数据,也需要向显示设备输出数据。
(1)input()函数用于接收用户键盘输入的数据,返回一个字符串类型的数据
name = input("请输入您的姓名:")
print(name)
- print()函数用于向控制台中输出数据,它可以输出任何类型的数据,其语法格式如下所示:
print(*objects, sep=' ', end='\n', file=sys.stdout)
objects:表示输出的对象。输出多个对象时,对象之间需要用分隔符分隔。
sep:用于设定分隔符,默认使用空格作为分隔。
end:用于设定输出以什么结尾,默认值为换行符\n。
file:表示数据输出的文件对象。
4.1打印购物小票
4.2打印蚂蚁森林植树证书
5.1整型
(1)整数类型(int)简称整型,它用于表示整数。整型常用的计数方式有4种,分别是二进制(以“0B”或“0b”开头)、八进制(以数字“0o”或“0O”开头)、十进制和十六进制(以“0x”或“0X”开头)。
(2)为了方便使用各进制的数据,Python中内置了用于转换数据进制的函数:bin()、oct()、int()、hex(),关于这些函数的功能说明如下。
5.2浮点型
(1)浮点型(float)用于表示实数,由整数和小数部分(可以是0)组成例如,3.14、0.9等。较大或较小的浮点数可以使用科学计算法表示。
科学计数法会把一个数表示成a与10的n次幂相乘的形式,数学中科学计数法的格式为:
a×10n (1≤|a|<10,n∈N)
Python程序中省略“×”,使用字母e或E代表底数10,示例如下:
-3.14e2 # 即-314
3.14e-3 # 即0.00314
(2)Python中的浮点型每个浮点型数据占8个字节(即64位),且遵守IEEE标准。Python中浮点型的取值范围为-1.8e308~1.8e308,若超出这个范围,Python会将值视为无穷大(inf)或无穷小(-inf)。
5.3复数类型
复数由实部和虚部构成,它的一般形式为:real+imagj,其中real为实部,imag为虚部,j为虚部单位。示例如下:
complex_one = 1 + 2j # 实部为1,虚部为2
complex_two = 2j # 实部为0,虚部为2
5.4布尔类型
Python中的布尔类型只有True(真)和False(假)两个取值。实际上,布尔类型也是一种特殊的整型,其值True对应整数1,False对应整数0。若数据符合以下任一条件,其布尔值均为False。
值为None或False的常量
任何数字类型的0:0、0.0、0j
空组合数据类型:''、()、[]、set()、{}
5.5数字类型转换
数字类型间进行转换的函数有int()、float()、complex()。需要注意的是浮点型数据转换为整型数据后只保留整数部分
6.1算术运算符
(1)算术运算符包括+、-、*、/、//、%和**。以操作数a = 2,b = 8为例对算术运算符进行使用说明。
(2)在混合运算时,Python会强制将数值的类型进行临时类型转换,这些转换遵循如下原则:整型与浮点型进行混合运算时,将整型转化为浮点型。其他类型与复数运算时,将其他类型转换为复数类型。
6.2赋值运算符
(1)赋值运算符的作用是将一个表达式或对象赋值给一个左值。左值是指一个能位于赋值运算符左边的表达式,它通常是一个可修改的变量,不能是一个常量。例如将整数3赋值给变量num:num=3。(赋值运算符允许同时为多个变量赋值x = y = z = 1 # 变量x、y、z均赋值为1)
(2)算术运算符可以与赋值运算符组成复合赋值运算符,赋值运算符同时具备运算和赋值两项功能。以变量num为例, Python复合赋值运算符的功能说明及示例如下:
(3)海象运算符“:=”,该运算符用于在表达式内部为变量赋值,因形似海象的眼睛和长牙而得此命名。
num_one = 1
# 使用海象运算符为num_two赋值
result = num_one + (num_two:=2)
print(result)
6.3比较运算符
比较运算符也叫关系运算符,用于比较两个数值,判断它们之间的关系。Python中的比较运算符包括==、!=、>、<、>=、<=,它们通常用于布尔测试,测试的结果只能是True或False。以变量x=2,y=3为例,具体如下:
6.4逻辑运算符
Python中分别使用“or”,“and”,“not”这三个关键字作为逻辑运算符,其中or与and为双目运算符,not为单目运算符。以x=10,y=20为例,具体如下:
6.5成员运算符
成员运算符in和not in用于测试给定数据是否存在于序列(如列表、字符串)中,关于它们的介绍如下:
in:如果指定元素在序列中返回True,否则返回False。
not in:如果指定元素不在序列中返回True,否则返回False。
6.6位运算符
(1)位运算符用于按二进制位进行逻辑运算,操作数必须为整数。下面介绍位运算符的功能,并以a=2,b=3为例进行演示,具体如下:
(2)按位左移(<<)是指将二进制形式操作数的所有位全部左移n位,高位丢弃,低位补0。以十进制9为例,9转为二进制后是00001001,将转换后的二进制数左移4位。
(3)按位与(&)是指将参与运算的两个操作数对应的二进制位进行“与”操作。当对应的两个二进制位均为1时,结果位就为1,否则为0。以十进制9和3为例,9和3转换为二进制后分别是00001001和00000011。
(4)按位或(|)是指将参与运算的两个操作数对应的二进制位进行“或”操作。若对应的两个二进制位有一个为1时,结果位就为1。若参与运算的数值为负数,参与运算的两个数均以补码出现。以十进制8和3为例,8和3转换为二进制后分别是00001000和00000011。
(5)按位异或(^)是指将参与运算的两个操作数对应的二进制位进行“异或”操作。当对应的两个二进制位中有一个为1,另一个为0时,结果位为1,否则结果位为0。以十进制8和4为例,8和4转换为二进制后分别是00001000和00000100。
(6)按位取反(~)是指将二进制的每一位进行取反,0取反为1,1取反为0。按位取反操作首先会获取这个数的补码,然后对补码进行取反,最后将取反结果转换为原码。
6.7运算符优先级
Python支持使用多个不同的运算符连接简单表达式,实现相对复杂的功能,为了避免含有多个运算符的表达式出现歧义,Python为每种运算符都设定了优先级。Python中运算符的优先级从高到低如下:
7.1绝对温标
7.2健康指数
8.0本章小结
包括代码格式、标识符和关键字、变量和数据类型、数字类型以及运算符。