一个简单的开头,潜学一下,让我能看懂python
一、Python基础语法
在python中,变量是没有类型的,变量存储的数据是有类型的
可以把变量当做一个存放物品的盒子
一、字面量
字面量:在代码中,被写下来的 固定的值
python中常见的值的类型

)
二、注释
三、变量
变量:在程序运行时,能储存计算结果 或 能表示值的抽象概念简单的说,
变量就是在程序运行时,记录数据用的
- 可以通过 , 输出多个变量
- type()
- 返回 变量类型
- 数据类型转换
str()float()int()- 任何内容都可以转换为字符串
- 字符串要转换为int或float类型,需要确保字符串中的内容只有数字
四、标识符
- 标识符命名:只能出现 英文中文数字下划线
- 不推荐使用中文
- 数字不能作为开头
- 标识符大小写敏感
- 不可占用关键字

五、运算符
- 算数运算符

- 赋值运算符
=
- 复合赋值运算符

六、字符串扩展
1. 字符串的定义
在Python中支持三种字符串的定义
- 单引号定义法: name = ‘你好’
- 双引号定义法: name = “”你好””
- 三引号定义法: name = “””你好”””
- 三引号定义法,和多行注释的写法一样,同样支持换行操作.
- 使用变量接收它,它就是字符串
- 不使用变量接收它,就可以作为多行注释使用,
- 要定义的字符串本身,是包含:单引号、双引号自身
- 单引号定义法,可以内含双引号
- 双引号定义法,可以内含单引号
- 可以使用转移字符()来将引号解除效用,变成普通字符串
2. 字符串的拼接
使用 +
但无法和非字符串类型拼接
3. 字符串格式化
- 占位型拼接
多个变量占位
变量要用括号括起来
并按照占位的顺序填入
% 为占位符
s 将变量变为字符串类型,放入占位的地方
- 通过语法:
f"内容{变量}"的格式来快速格式化 - 不关心精度问题,适合对精度没有要求的场合
- 不会理会类型
4. 字符串格式化的精度控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
- m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
- %5d: 表示将整数的宽度控制在5位,如数字1,被设置为5d,就会变成:[空格][空格][空格]111,用三个空格补足宽度。
- %5.2f:表示将宽度控制为5,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为.35
5.表达式的格式化
以上四条都是对变量的格式化
下面是对表达式的格式化
七、数据输入
input()input输入的数据,统统为字符串类型
八、布尔类型和比较运算符
- 布尔类型
- xxx = True
- xxx = Flase
- 比较运算符 返回值为布尔类型
- ==
- !=
- <
- <=
=
九、if语句
基本格式
if判断的注意事项:
- 判断条件的结果一定要是布尔类型
- 不要忘记判断条件后的
:
- 冒号归属于if语句的代码块,要需在前方填充4个空格缩进(python 通过缩进来判断代码块的归属关系)
- elif可以写多个
- 判断是互斥且有序的上一个满足后面的就不会判断了
- 可以在条件判断中,直接写input语句,节省代码量
- 判断语句是可以嵌套的
十、while循环
格式
注意事项
- 条件需提供布尔类型结果,True继续,False停止
- 空格缩进不能忘
- 请规划好循环终止条件,否则将无限循环3
- While可嵌套
十一、for循环
把待处理的数据集按顺序赋给临时变量。然后执行代码。直到赋完,
- 语法中的: 待处理数据集,严格来说,称之为: 序列类型
- 序列类型指,其内容可以一个个依次取出的一种类型,包括:
- 字符串
- 列表
- 元组
- 等
for循环语句,本质上是遍历: 序列类型。
range语句
- 语法一
- range(num)
- 获取一个从0开始,到num结束的数字序列(不含num本身)
- 如range(5)取得的数据是:[0,1,2,3,4]
- 语法二
- range(num1,num2)
- 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
- 如,range(5,10)取得的数据是:[5,6,7,8,9]
- 语法三:
- range(num1,num2,step)
- 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
- 如,range(5,10,2)取得的数据是:[5,7,9]
基础语法格式
for循环的注意点
- 无法定义循环条件,只能被动取出数据处理
- 要注意,循环内的语句,需要有空格缩进
- for循环也可以嵌套
for循环临时变量作用域
- for循环中的临时变量,其作用域限定为循环内
- 这种限定是编程规范的限定,而非强制限定
不遵守也能正常运行,但是不建议这样做
如需访问临时变量,可以预先在循环外定义它
十二、continue和break
continue,退出当前循环
break退出循环
他们可用在while 和 for中
注意:只能在作用在当层,无法对上层循环作用
十三、一些其他的小东西
关键字:random
用法:
函数:len
用法:
二、Python的五种容器和函数
一、函数介绍
函数:是组织好的,可重复使用的,用来实现特定功能的代码段。
好处:
- 将功能封装在函数内,可供随时随地重复利用
- 提高代码的复用性,减少重复代码,提高开发效率
二、函数的定义
- 参数 和 返回值可以 省略
- 函数需要先定义后调用函数
- 形参(函数声明时用的)和实参(传入的参数)
- 函数不管写不写return ,本质都是有返回值的,若不写,则默认返回None
- 函数可以嵌套调用
- 函数中的变量为局部变量
注意:
- return后的代码部分不会执行
- 注意加:号
三、列表
1. 数据容器介绍
数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素
每一个元素,可以是任意类型的数据,如字符串、数字、布尔等,并且允许重复元素的存在,可以增删查改等…
数据容器根据特点的不同:
- 是否支持重复元素
- 是否可以修改
- 是否有序,等分为5类,
- 分别是 : 列表(list)、
- 元组(tuple)、
- 字符串(str)、
- 集合(set)、
- 字典(dict)
2. 列表的定义
列表中的每个数据,都叫元素
- 列表支持嵌套,如:
列表的两个元素都是列表
3. 列表可以通过下标索引
索引可以是正向,也可以反向
用法:
对于嵌套了列表的列表:在后面再进行索引就行。
name_list[1][2]- 列表的注意事项:
注意下标索引的范围不要超出元素的最大值(- 1 )
4. 引入:方法
- 调用类中的方法
5. 列表的方法
- 查找指定元素在列表的下标。如果找不到,报错ValueError!
- 语法:
列表.index(元素)
- 对某下标的元素重新赋值
- 语法:
列表[] = xxx
- 插入元素
- 在指定的下标位置,插入指定的元素,后面的元素往后排
- 语法:
列表.insert(下标, xxx)
- 追加元素(1)
- 将指定元素,追加到列表尾部
- 语法:
列表.append(元素)
- 追加元素(2)
- 将其他容器的内容取出,依次 追加到列表尾部
- 语法:
列表.extend(其他数据容器)3
- 删除元素
- 语法1:
列表.pop(下标) - 语法2:
del 列表[下标]
- 删除元素
- 删除某元素在列表中的第一个匹配项
- 语法:
列表.remove(元素)
- 清空列表
- 语法:
列表.clear(列表)
- 统计元素在列表中的数量
- 语法:
列表.count(元素)
- 统计元素的数量
- 语法:
len(列表)
6. 列表的循环遍历
遍历:把容器内的数据依次取出,并处理。又叫迭代
while循环和for循环,都是循环语句,但细节不同:
在循环控制上:
- while循环可以自定循环条件,并自行控制
- for循环不可以自定循环条件,只可以一个个从容器内取出数据
在无限循环上:
- while循环可以通过条件控制做到无限循环
- for循环理论上不可以,因为被遍历的容器容量不是无限的
在使用场景上:
- while循环适用于任何想要循环的场景
- for循环适用于,遍历数据容器的场景或简单的固定次数循环场景
四、元组
1. 介绍
元组和列表的最大不同!
元组一旦定义完成,就不可修改
2.元组的定义
元组定义: 定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。
定义的注意事项:
- 定义1个元素的元组必须带有逗号,否则不是元组类型
3. 元组的常用操作方法
index()- 查找某个数据,如果数据存在返回对应的下标,否则报错
- 语法:
元组.index(查找的元素) - 返回查找的元素的下标
count()- 统计某个数据在当前元组出现的次数
- 语法:
元组.count(要统计的元素) - 返回这个元素的个数
len(元组)- 统计元组内的元素个数
语法:len(元组)- 返回元素个数
4. 元组的特点
- 可以容纳多个数据
- 可以容纳不同类型的数据(混装)
- 数据是有序存储的(下标索引)
- 允许重复数据存在
- 不可以修改(增加或删除元素等)
- 支持for循环
- 元素中如果有列表,可以修改元组的元素中的列表的内部元素
五、字符串
1. 介绍
字符串时字符的容器,一个字符串可以存放任意数量的字符
- 和其他容器一样,字符串也是支持下标的
- 字符串不可以 修改 移出 或者追加
- 字符串可以 查找、和替换
2. 字符串的常用操作方法
- 字符串的替换
- 语法:字符串.replace(字符串1,字符串2)
- 功能:将字符串内的全部:字符串1替换为字符串2
- 注意:是局部替换,但是要注意,这个返回值是一个新的字符串,不是在老字符串上进行修改
- 字符串的分割
- 语法:字符串.split(分隔符字符串)
- 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
- 注意:字符串本身不变,而是得到了一个列表对象
- 示例:
- 字符串的规整操作
- 去除前后空格
- 语法:
字符串.strip() - 示例:
- 去除前后指定字符串
- 语法:
字符串.strip(字符串) - 注意:传入“12”,的意思是,‘’1‘和‘’2’‘都会移出,是按照单个字符
- 示例:
- 统计字符串中某个字符出现的次数
- 统计某个数据在当前元组出现的次数
- 语法:
字符串.count(要统计的元素) - 返回这个元素的个数
- 统计字符串的长度
- 统计元组内的元素个数
语法:len(字符串)- 返回元素个数
3. 字符串的特点
- 只可以存储字符串
- 长度任意(取决于内存大小)
- 支持下标索引
- 允许重复字符串存在
- 不可以修改(增加或删除元素等)
- 支持for循环
六、数据容器(序列)的切片操作
1. 什么是序列
- 序列是指:内容连续、有序,可使用下标索引的一类数据容器
- 列表、元组、字符串,均可以可以视为序列
2. 序列的常用操作
序列支持切片,即:列表、元组、字符串,均支持进行切片操作
切片:从一个序列中,取出一个子序列
语法:
序列[起始下标:结束下标:步长] 表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:
- 起始下标表示从何处开始,可以留空,留空视作从头开始
- 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
- 步长表示,依次取元素的间隔
- 步长1表示,一个个取元素
- 步长2表示,每次跳过1个元素取
- 步长N表示,每次跳过N-1个元素取
- 步长为负数表示,反向取 (注意,起始下标和结束下标也要反向标记)
切片不会影响序列本身,而是得到一个新的序列
起始和结束的下标也能不写,默认为从头到尾。步长也可以不写,默认为1
范围为 左闭右开
可以这样用my_str[::-1][9:14]
七、集合
1. 集合的介绍:
- 集合 set
- 集合会去重,不能重复
- 集合内容是无序的(所以不支持下标索引访问)
2. 集合的定义
集合 set
3. 集合的一些方法
- 添加新元素
- 语法:
集合.add(元素)
- 移出元素
- 语法:
集合.remove(元素)
- 随机取出一个元素
- 语法:
集合.pop() - 注意:真 取出来了,原本的集合没了
- 清空集合
- 语法:
集合.clear() - 取出2个集合的差集
- 语法:
集合1.difference(集合2) - 功能:取出集合1和集合2的差集.,集合1有 而 集合2没有的
- 结果:得到一个新集合,集合1和集合2不变
- 消除2个集合的差集
- 语法:
集合1.difference_update(集合2) - 功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素。
- 结果:集合1被修改,集合2不变
- 2个集合合并
- 语法:
集合1.unior(集合2) - 功能:将集合1和集合2组合成新集合
- 结果:得到新集合,集合1和集合2不变
- 统计集合元素的数量
- 语法:
len(集合) - 集合的遍历
- 集合不支持下标索引,所以不支持 while循环
- 集合支持for循环
4. 集合的特点
- 可以容纳多个数据
- 可以容纳不同类型的数据(混装)
- 数据是无序存储的(不支持下标索引)
- 不允许重复数据存在
- 可以修改(增加或删除元素等)
- 支持for循环
八、字典
通过字典,可以实现用key 取出 value的操作
1. 字典的定义
字典中存储的元素 叫 : 键值对
- 字典不允许重复,新的会把老的覆盖掉
- 字典不允许下标索引
- 字典的key不允许为字典,value 不受限制,可以嵌套字典
2. 字典的常用操作
- 新增元素
- 语法:
字典[Key] = Value - 结果:字典被修改,新增了元素
- 更新元素
- 语法:
字典[Key] = Value - 结果:字典被修改,元素被更新
- 注意:字典key不可以重复,如果key已经有了,再执行就是更新元素
- 删除元素
- 语法:
字典.pop(key) - 结果:获得指定key的value,同时字典被修改,指定key的数据被删除
- 清空元素
- 语法:
字典.clear()
- 获取全部的Key
- 语法:
字典.keys()
- 统计字典内的元素数量
- 语法:
len(字典)
- 遍历字典
- 通过获取全部的key来遍历字典
- 直接对字典进行for循环,每次循环都是直接得到key
3.字典的特点
- 可以容纳多个数据
- 可以容纳不同类型的数据
- 每一份数据是KeyValue键值对
- 可以通过Key获取到Value,Ktv不可重复(重复会覆盖)
- 不支持下标索引
- 可以修改(增加或删除更新元素等)
- 支持for循环,
- 不支持while循环
九、五种容器总结
1. 容器的分类
分类 | 元组 | 集合 | 字典 | 字符串 | 列表 |
元素数量 | 支持多个 | 支持多个 | 支持多个 | 支持多个 | 支持多个 |
元素类型 | 任意 | 任意 | Key: Value Key: 除字典外任意类型 Value: 任意类型 | 仅字符 | 任意 |
下标索引 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
重复元素 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
可修改性 | 不支持 | 支持 | 支持 | 不支持 | 支持 |
数据有序 | 是 | 否 | 否 | 是 | 是 |
使用场景 | 不可修改、可重复的一批数据记录场景 | 不可重复的数据记录场景 | 以 Key 检索 Value 的数据记录场景 | 一串字符的记录场景 | 可修改、可重复的一批数据记录场景 |
- 五类容器都支持for循环
- 集合和字典不支持while循环
2. 容器的通用操作
通用统计功能
len(容器)- 统计元素个数
max(容器)- 统计容器的最大元素
min(容器)- 统计容器的最小元素
通用转换功能
- 注意字典在转换为非字符串的时候,会丢失value
list(容器)- 将给定容器转换为列表
str(容器)- 将给定容器转换为字符串
tuple(容器)- 将给定容器转换为元组
set(容器)- 将给定容器转换为集合
通用排序功能
sorted(容器,[reverse=True])- 将给定容器进行排序
- 注意:会放到列表中,字典在排序的时候会丢失value
欢迎您在底部评论区留言,一起交流~
- 作者:L_Z_J
- 链接:https://www.mcoi.top/article/Post-Python-study
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。










