- 第一章:你好Python
- 初始Python
- Python的起源
- 1989
- 1991
- Python名字
- 为什么选择Python
- 优雅
- 简单
- 易学
- 开发效率高
- 适用面非常广泛
- 什么是编程语言
- 概念
- 人类和计算机交流的一种专有领域语言
- 工作原理
- 将人类的想法,翻译成计算机可以识别的二进制,让计算机工作
- Python的安装
- 第一个Python程序
- print("Hello World")
- 标点符号一定要是英文符号
- 常见问题
- 找不到命令提示符
- Python不是内部或外部命令
- 安装Python的时候,没有勾选Add Python 3.10 to PATH
- SyntaxError:invalid character
- 第二章:Python基础语法
- 字面量
- 概念
- 在代码中,被写下来的固定的值,称之为字面量
- 分类
- 数字(Number)
- 整数(int)
- 浮点数(float)
- 复数(complex)
- 布尔(bool)
- 字符串(String)
- 概念
- 字符串,又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。
- 定义方式
- 单引号
- 双引号
- 三引号
- 列表(List)
- 元组(Tuple)
- 集合(Set)
- 字典(Dictionary)
- 注释
- 概念
- 在程序代码中对程序代码进行解释说明的文字。
- 作用
- 注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
- 分类
- 单行注释
- 以#开头,#右边的所有文字当做说明,而不是真正要执行的程序,起辅助说明作用。
- 建议在#号和注释内容之间,间隔一个空格
- 多行注释
- 通过一对三个引号来定义("""注释内容"""),引号内部均是注释,可以换行
- 多行注释一般对:Python文件、类或者方法进行注释
- 变量
- 概念
- 在程序运行时,能储存计算结果或能表示值的抽象概念。简单来说,变量就是在程序运行时,记录数据用的。
- 定义方式
- 变量名称=变量值
- 特征
- 变量存储的数据,是可以发生改变的。
- 数据类型
- type()语句
- type(被查看类型的数据)
- 变量没有类型,比如:字符串变量表示变量存储了字符串而不是表示变量就是字符串
- 数据类型转换
- 为什么要转换?
- 数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等。
- 常见的转换语句
- int(x)
- float(x)
- str(x)
- 注意:这三个语句都是有返回值的,可以使用变量来接受它们返回的值。
- 类型转换的注意事项
- 任何类型,都可以通过str(),转换为字符串
- 字符串内必须真的是数字,才可以将字符串转换为数字
- 标识符
- 概念
- 是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
- 命名规则
- 内容限定
- 只允许出现字母、数字、下划线、中文
- 不推荐使用中文
- 数字不能开头
- 大小写敏感
- 不可使用关键字
- 命名规范
- 见名知意
- 下划线命名法
- 英文字母全小写
- 运算符
- 算术运算符
- -
- /
- 数学中的除
- //
- 取整除
- %
- 取余
- **
- 指数
- 赋值运算符
- =
- 复合赋值运算符
- +=
- -=
- *=
- /=
- %=
- **=
- 幂赋值运算符
- //=
- 字符串扩展
- 三种定义方式
- 单引号定义法
- 双引号定义法
- 三引号定义法
- 和多行注释的写法一样,同样支持换行操作。
- 使用变量接受它,它就是字符串。
- 不使用变量接受它,就可以作为多行注释使用。
- 字符串的引号嵌套
- 单引号定义法,可以内含双引号
- 双引号定义法,可以内含单引号
- 可以使用转义字符(\)来将引号解除效用,变成普通字符串
- 字符串拼接
- 如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成;一般,字面量和变量或变量和变量之间会使用拼接
- 注意事项
- 字符串无法和非字符串变量进行拼接
- 字符串格式化
- 方式一
- 通过占位的形式拼接字符串
-
- 多个变量占位,变量要用括号括起来,并按照占位的顺序填入
- 格式符号
- %s
- 将内容转换成字符串,放入占位位置
- %d
- 将内容转换成整数,放入占位位置
- %f
- 将内容转换成浮点型,放入占位位置
- 方式二
- 通过语法:f"内容{变量}"的格式来快速格式化
- 特点
- 不理会类型
- 不做精度控制
- 适合对精度没有要求的时候快速使用
-
- 格式化的精度控制
- 使用辅助符号"m.n"来控制数据的宽度和精度
- m,控制宽度,要求是数字(很少使用),设置的宽度小于数字本身,不生效,默认在数字左侧补空格填充宽度。
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入。
-
- 对表达式进行格式化
- 表达式
- 概念
- 一条具有明确执行结果的代码语句
- 数据输入
- input()语句函数
- input()语句的功能是,获取键盘输入的数据
- 可以使用input(提示信息),用以在使用者输入内容之前显示提示信息。
-
- 快捷写法
-
- 无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型
- 第三章:Python判断语句
- 布尔类型和比较运算符
- 布尔类型
- 概念
- 布尔(bool)表达现实生活中的逻辑,即真和假
- True表示真;False表示假
- True本质上是一个数字记作1,False记作0
- 定义
- 变量名称=布尔类型字面量
- 布尔类型字面量
- True表示真
- False表示假
- 注意:布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。
- 比较运算符
- if语句的基本格式
- 基本格式
- 案例
- 注意
- 判断语句的结果,必须是布尔类型True或False
- 归属于if判断的代码语句块,需在前方填充4个空格缩进
- Python通过缩进判断代码块的归属关系。
- if else语句
- 基本格式
- 案例
- 注意事项
- else后,不需要判断条件
- 和if的代码块一样,else的代码块同样需要4个空格作为缩进
- if elif else语句
- 基本格式
- 案例
- 注意事项
- 判断是互斥且有顺序的
- 满足1将不会理会2和3
- 满足2,将不会理会3
- 1/2/3均不满足,进入else
- else也可以省略不写,效果等同3个独立的if判断
- 可以直接将input语句写入判断条件中,节省代码量
- 判断语句的嵌套
- 基本格式
- 第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
- 嵌套的关键点,在于:空格缩进
- 通过空格缩进,来决定语句之间的:层次关系
- 案例
- 公司要发礼物,条件是:
- \1. 必须是大于等于18岁小于30岁的成年人
- \2. 同时入职时间需满足大于两年,或者级别大于3才可领取
-
- 第四章:Python循环语句
- while循环的基础语法
- 基本格式
- 只要条件满足就会无限循环
- 注意事项
- while的条件需要得到布尔类型,True表示继续循环,False表示结束循环
- 需要设置循环终止的条件,否则将无限循环
- 记得设置空格缩进
- while循环的基础案例
- 猜数游戏
- while循环的嵌套使用
- 基本格式
- 注意事项
- 注意条件的控制,避免无限循环
- 多层嵌套,主要空格缩进来确定层次关系
- while循环的嵌套案例
- 案例:九九乘法表
-
- 实现代码
- 补充
- print输出不换行(默认情况下,print语句输出会自动换行)
- 在print语句中,加上 end=’’ 即可输出不换行了
- 制表符\t
- 作用
- 它可以让我们的多行字符串进行对齐。
- 案例
-
- for循环的基础语法
- 基础语法
- for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
- for循环就是将“待办事项”逐个完成的循环机制
- 从待处理数据集中:逐个取出数据赋值给临时变量
-
- 注意条件
- 无法定义循环条件,只能被动取出数据处理
- 要注意,循环内的语句,需要有空格缩进
- range语句
- 功能
- 获取一个数字序列(可迭代类型的一种)
- 可迭代类型:其内容可以一个个依次取出的一种类型
- 字符串
- 列表
- 元组
- 基本语法
- range(num)
- 获取一个从0开始,到num结束的数字序列(不含num本身)
- range(num1,num2)
- 获取一个从num1开始,到num2结束的数字序列(不包含num2本身)
- range(num1,num2,step)
- 获取一个从num1开始,到num2结束的数字序列(不包含num2本身)数字之间的步长,以step为准(step默认为1)
- 通常与for循环搭配使用,控制循环的次数
- 变量作用域
- 临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部
- 如果在for循环外部访问临时变量
- 实际上是可以访问到的
- 在编程规范上,是不允许、不建议这么做的
- 如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义
- for循环的嵌套使用
- 基本格式
- 案例
- 向小美表白
-
- 九九乘法表
- 注意事项
- 需要注意缩进
- for循环和while循环可以相互嵌套使用
- 循环中断:break和continue
- continue关键字
- 作用
- 中断本次循环,直接进入下一次循环
- 适用于
- for循环和while循环,结果一致
- break关键字
- 作用
- 直接结束所在循环
- 适用于
- for循环和while循环,结果一致
- 注意事项
- continue和break,在for和while循环中作用一致
- 在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
- 综合案例:发工资
- 实现代码
-
- 效果如下
-
- 第五章:Python函数
- 函数介绍
- 概念
- 函数是组织好的、可重复使用的、用来实现特定功能的代码段
- 好处
- 将功能封装在函数内,可供随时随地地重复利用
- 提高代码的复用性,减少重复代码,提高开发效率
- 函数定义
- 基本格式
- 函数的定义
-
- 函数的调用:函数名(参数)
- 注意事项
- 参数如不需要,可以省略
- 返回值如不需要,可以省略
- 函数必须先定义后使用
- 函数的参数
- 函数的传入参数
- 基本语法格式
-
- 案例:
- 函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数
- 函数调用中,提供的5和6,称之为:实际参数(实参),表示函数执行时真正使用的参数值
- 传入参数的数量是不受限制的
- 补充:其他三种传参方式
- 关键字参数
- 基本格式:形式参数 = 实际参数
- 根据形式参数的名称进行参数传递
- 两种输出方式一致
- 默认参数
- 定义函数时可以指定形式参数的默认值,调用函数时,若没有给带有默认值的形式参数传值,则直接使用参数的默认值;若给带有默认值的形式参数传递值,则实际参数的值会覆盖默认值
-
- 不定长参数
- 若要传入函数中的参数的个数不确定,可以使用不定长参数。不定长参数也称可变参数,此种参数接受参数的数量可以任意改变。
- 语法格式
-
- args
- kwargs
- 注意事项
- 函数定义中的参数,称之为形式参数
- 函数调用中的参数,称之为实际参数
- 函数的参数数量不限,使用逗号分隔开
- 传入参数的时候,要和形式参数一一对应,逗号隔开
- 函数的返回值
- 函数返回值的定义
- 所谓“返回值”,就是程序中函数完成事情后,最后给调用者的结果
- 语法格式
-
- None类型
- 函数返回的None,就表示,这个函数没有返回什么有意义的内容。也就是返回了空的意思。
- None可以主动使用return返回,效果等同于不写return语句:
- 应用场景
- 用在函数无返回值上
- 用在if判断上
- 在if判断中,None等同于False
- 一般用于在函数中主动返回None,配合if判断做相关处理
- 案例:
- 用于声明无内容的变量上
- 定义变量,但暂时不需要变量有具体值,可以用None来代替
- 注意事项
- 函数体在遇到return后就结束了,所以写在return后的代码不会执行。
- 函数说明文档
- 语法格式
- :param 用于解释参数
- :return 用于解释返回值
- 通过多行注释的形式,对函数进行说明解释
- 内容应写在函数体之前
- 作用
- 对函数进行说明解释,帮助更好理解函数的功能
- 函数的嵌套调用
- 所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数
- 变量的作用域
- 概念
- 变量的作用域指的是变量的作用范围(变量在哪里可用,在哪里不可用)
- 分类
- 局部变量
- 概念
- 局部变量是定义在函数体内部的变量,即只在函数体内部生效
- 作用
- 在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量
- 变量num是定义在testA函数内部的变量,在函数外部访问则立即报错.
- 全局变量
- 概念
- 在函数体内、外都能生效的变量
- global关键字
- 将函数内定义的变量声明为全局变量
- 函数的特殊形式
- 匿名函数
- 概念
- 匿名函数是无需函数名表示的函数,它的函数体只能是单个表达式。Python中使用关键字lambda定义匿名函数。
- 语法格式
- lambda [arg1[,arg2,...argm]]:expression
- "[arg1[,arg2,...argm]]"表示匿名函数的参数
- expression是一个表达式
- 对比普通函数
- 普通函数需要使用函数名进行表示;匿名函数不需要使用函数名进行标识。
- 普通函数的函数体中可以有多条语句;匿名函数只能是一个表达式。
- 普通函数可以实现比较复杂的功能;匿名函数只能实现比较单一的功能。
- 普通函数可以被其他程序使用;匿名函数不能被其他程序使用。
- 案例
-
- 递归函数
- 概念
- 递归是一个函数过程在定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂问题层层转化为一个与原问题相似,但规模较小的问题进行求解。
- 规则
- 递归公式
- 递归求解过程中的归纳项,用于处理员问题以及与原问题规律相同的子问题。
- 边界条件
- 终止条件,用于终止递归
- 递归函数扩展
- 第六章:Python数据容器
- 数据容器入门
- 什么是数据容器
- 一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素,每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。
- 根据特点的不同分类数据容器(是否支持重复元素、是否可以修改、是否有序等)
- 列表(list)
- 元组(tuple)
- 字符串(str)
- 集合(set)
- 字典(dict)
- 数据容器:list(列表)
- 列表的定义
- 基本语法:
- 列表内的每一份数据,称之为元素
- 以[]作为标识
- 列表内每一个元素之间用,逗号隔开
- 注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套
- 列表的下标索引
- 列表的每一个元素,都有编号称之为下标索引;从前向后的方向,编号从0开始递增;从后向前的方向,编号从-1开始递减
- 注意下标索引的取值范围,超出范围无法取出元素,并且会报错
- 列表的常用操作
- 查找某元素的下标
- 功能:查找指定元素在列表的下标,如果找不到,报错ValueError
- 语法:列表.index(元素)
- index就是列表对象(变量)内置的方法(函数)
- 列表的修改功能
- 语法:列表[下标]=值
- 插入元素
- 语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素
- 追加元素
- 语法:列表.append(元素),将指定元素,追加到列表的尾部
- 追加元素2
- 语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部
- 删除元素
- 语法1:del 列表[下标]
- 语法2:列表.pop(下标),可将删除的元素返回
- 修改某元素在列表中的第一个匹配项
- 语法:列表remove(元素)
- 清空列表内容
- 语法:列表.clear()
- 统计某元素在列表内的数量
- 语法:列表.count(元素)
- 统计列表内,有多少元素
- 语法:len(列表)