python基础
-
第一章:你好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(列表)
-
-
-
-