Python
第一章、基础语法
01.字面量(写在代码中的固定的值)
02.注释
# 单行注释
"""
多行注释
"""
03.变量
变量无类型,数据有类型
变量名 = 变量值
04.数据类型
数据类型: type()
05.类型转换
字符串转数字:字符串中必须只能由数字
转换为字符串: str()
转换为浮点数: float()
转换为整数: int()
06.标识符(类、方法、变量命名)
只允许出现:
英文、中文、数字、下划线不能使用数字开头
关键字:
07.运算符
08.字符串
字符串定义
三种定义方式:
单引号定义 name=' '
双引号定义 name=" "
三引号定义 name=""" """
注意:引号嵌套。
字符串拼接
加号 +
仅限于字符串类型本身 进行拼接
字符串格式化
方式一:
占位符 % %s 、%d 、%f
多个变量时,按顺序书写
方式二:print(f" xxxx{变量},xxxxx{变量}")
格式化精度控制
m.nm表示宽度n表示小数点精度
- m比数字本身宽度还小时,m不生效
表达式进行字符串格式化
- f “{表达式}”
- "%s \ %d \ %f " %(表达式,表达式)
09.数据输入
- 数据输入: input()
- 键盘输入的数据,永远都是 字符串类型
第二章、判断、循环语句
01. 布尔类型和比较运算符
布尔类型的字面量:True False
定义:变量名= 布尔类型的字面量
- 比较运算符
02. if语句
if语句
if 条件 :条件成立时,要做的事情
if…else语句
if 条件 :条件成立执行
else :条件不成立执行的条件
if…elif…else语句
if 条件1 :条件1成立执行
elif 条件2:条件2成立执行
else :条件都不成立执行的条件
03.判断语句的嵌套
if 条件1 :条件1成立执行if 条件2 :条件1、2满足时执行else :条件1满足、条件2不满足时
else :条件1 不满足
04. while循环
while 条件 :条件满足时,做的事...
while 嵌套
while 条件 :条件满足时,做的事...while 条件 :条件满足时,做的事...
05. for循环
方式一:
for 临时变量 in 待处理数据集 :循环满足时执行方式二:
for x in range(起点,终点,步长)
注意:
- 起点终点区间都是左闭右开
- 临时变量只能在for循环内部使用
字符串遍历
for x in name_str:print(x)
for循环的嵌套
for 临时变量 in 待处理数据集 :循环满足时执行for 临时变量 in 待处理数据集 :循环满足时执行
06. continue 和 break
- continue:用于中断本次循环,直接进入下次循环
- break:用于直接结束循环(多层循环时,跳出一层)
第三章、函数
01.函数
定义
def 函数名 (变量...) :函数体return 返回值
调用
函数名(传入参数)
- 定义时为:形参
- 调用时为:实参
02.返回值
return 关键字之后的所有代码都不会执行返回 None 类型:未定义return语句时,返回值都为None在判断语句中,返回False等同于返回None
03. 函数的说明文档
写在函数体之前,通过多行注释的形式,对函数进行说明解释"""
: param x :形参x的说明
: param y :形参y的说明
: return :返回值的说明
"""
04.函数的嵌套调用
在一个函数中调用了另一个函数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ZAxwbLh-1688028382262)(C:\Users\Lyanjie\AppData\Roaming\Typora\typora-user-images\image-20230628182207491.png)]
05.变量的作用域
- 局部变量:定义在函数体的内部的变量,即只能在函数中使用
- 全局变量:定义在函数体外的,内外都能使用的变量
global关键字
- 在函数内部声明变量为全局变量
第四章、数据容器
01.数据容器
一种可以存储多个元素的python的数据类型
类型:list、tuple、str、set、dict
02. list列表
定义
变量名 = [元素1,元素2,元素3,...]# 定义空列表
变量名 = []
变量名 = list()
- 元素类型可以不同。
下标索引
- 正向索引:索引从0开始
- 反向索引:从-1开始,依次递减(-1,-2,-3,…)
- 嵌套列表:同样支持下标索引
常用操作
-
查询某元素的下标: 列表.index('元素') 修改特定下标位置值: 列表[索引] = xxx 在指定下标位置插入元素: 列表.insert(下标,元素) 追加元素(插入到尾部): 列表.append(元素)列表.extend(其他数据容器) (将其他数据容器的内容取出,依次追加到列表后)删除元素: list.pop(下标)del list[下标]删除某元素在列表中的第一个匹配项: list.remove(元素)清空列表: list.clear()统计列表中某元素的数量: list.count("元素")统计列表中所有元素的数量: len(list)
列表的遍历
-
while遍历
index =0 while index < len(list):print(list[index])index += 1
-
for遍历
for element in list :print(element)
03. tuple元组
元组可以封装多个、不同类型的元素,但一旦定义不可修改
# 定义元组
(元素,元素,...)#定义空元组
t = ()
t = tuple()# 定义单个元素的元组 (必须在后面加上逗号)
t = ("xxx" ,)
相关操作
- index()
- t.index(“元素”)
- count()
- t.count(“元素”)
- len()
- len(元组)
遍历
while遍历:
while index < len(元组):print()index+=1for遍历:
for element in 元组:print
注意:
- 元组中嵌套有list时,list中的元素可以修改
04.字符串(不支持修改)
#下标索引(可正可负)
m_str[index]#index方法
m_str.index("查找值")#replace 方法
m_str.replace("字符串1","字符串2")#split方法
m_str.split("分隔符")#strip方法
m_str.strip() #去前后空格
m_str.strip(字符串) #去前后指定字符串#统计 字符串中某字符出现的次数
m_str.const("字符")#统计字符串的长度
len(m_str)
05.数据容器(序列)的切片
切片:从一个序列中,取出一个子序列
序列[起始下标:结束下标:步长]
#左闭右开#起始下标表示从何处开始,可以留空,留空视作从头开始
#结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾#步长表示,依次取元素的间隔,省略时步长为1
06.集合set
定义:元素不允许重复,内容无序
#定义集合字面量
{元素,元素,...}
#定义集合变量
变量名={元素,元素,...}
#定义空集合
变量名=set()
操作
#添加新元素
jihe.add("元素")
#移出元素
jihe.remove("元素")
#随机取出一个元素
jihe.pop()
#清空集合
jihe.clear()
#取两个集合的差集
jihe1.difference(jihe2) #集合1有集合2没有
#消除两个集合的差集
jihe1.difference_update(jihe2) #删除集合1中和集合2相同的元素#两个集合合并为一个集合
jihe.union(jihe2) #得到新集合,集合1,2不变#统计集合元素的数量
len(jihe)#集合遍历(不能用while循环)
for element in jihe:print(element)
07.字典
定义
不能使用下标索引,可以通过对应的key值找到对应的value值
#定义字典字面量
{key:value,key:value...}#定义字典变量
dict1={key:value,key:value...}#定义空字典
dict1={}
dict1=dict{}#字典的嵌套
dict2={"key1":{"key11":value1....},"key2":{}
}
操作
# 从字典中基于key获取value
dict1["key"]#嵌套字典中取值
dict1["key1"]["key2"]#新增元素
dict1[key]=value#更新元素
dict1[key]=value #该key已存在于字典中#删除元素
dict1.pop(key)
#清空元素
dict1.clear()
#获取全部的key
dict1.keys()
#遍历字典#方式一:for key in keys:print(dict1[key])#方式二:for key in dict1print(dict1[key])#统计字典内的元素数量
len(dict1)
08.总结
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kDoL4n8-1688028382262)(C:\Users\Lyanjie\AppData\Roaming\Typora\typora-user-images\image-20230629164131779.png)]
09.数据容器的通用操作
#元素个数
len()
#最大元素
max()
#最小元素
min()
},“key2”:{}
}
#### 操作```python
# 从字典中基于key获取value
dict1["key"]#嵌套字典中取值
dict1["key1"]["key2"]#新增元素
dict1[key]=value#更新元素
dict1[key]=value #该key已存在于字典中#删除元素
dict1.pop(key)
#清空元素
dict1.clear()
#获取全部的key
dict1.keys()
#遍历字典#方式一:for key in keys:print(dict1[key])#方式二:for key in dict1print(dict1[key])#统计字典内的元素数量
len(dict1)
08.总结
09.数据容器的通用操作
#元素个数
len()
#最大元素
max()
#最小元素
min()#将给定容器转换为列表
list(容器)
#将给定容器转换为字符串
str(容器)
#将给定容器转换为元组
tuple(容器)
#将给定容器转换为集合
set(容器)#进行容器的排序(排序之后全为list)
sorted(容器)#反向排序
sorted(容器,reverse= True)
10.补充:字符串的大小比较
按位比较(比较asccii码),只要有一位大,那么整体就大