一、基础入门笔记
2024-01-07 18:30:28
-
01基础语法
-
字面量
- 被写下来的固定的值
-
数字
- 整数int
- 1,2,3,4
- 浮点数float
- 13.14
- 复数complet
- 4+3J
- 布尔
- True+False
- 整数int
-
字符串"ccc"
- 描述文本的数据类型
- 大小比较依据ASC||,a>A>
- 按照位比较
-
列表
- 有序的可变序列
-
元组
- 有序的不可变序列
-
集合
- 无序的不重复集合
-
字典
- 无序的key-value集合
-
注释
- 单行注释
- # 用一个空格隔开
- 多行注释
- """?? """
- 一般用于整个python文件的解释或者类、方法
- """?? """
- 单行注释
-
变量
- 运行中,储存结果或能表示值
- 变量? =? 变量的值
-
数据类型及转换
- type()
- 语句
- int()
- float()
- str()
-
标识符
- 名字,如变量的名字
- 限制
- 内容
- 不要中文
- 数字不可以开头
- 大小写敏感
- 关键字
- 内容
- 规范
- 英文全小写
- 多单词下划线连接
-
运算符
- +,-,*,/,//,%,**
-
字符串
-
三种定义
- ' '
- " "
- """ """
-
拼接
- 通过+将两个字符串/字面量拼接
-
常用占位
- %s
- %占位
- s将内容变成字符串放入占位
- %d
- d将内容变成整数放入占位
- %f
- f将内容变成浮点型放入占位
- %s
-
精度控制
- m.n
- m控制宽度
- .n控制小数点精度
- m.n
-
字符串格式化
- 快速格式化f"内容{变量}"
- 不考虑类别
- 不做精度控制
- 快速格式化f"内容{变量}"
-
表达式格式化
- 表达式:一条具有明确执行结果的代码语句
- %d
- f"?? {}"
- %s
-
-
数据输入input
- 获取的是字符串
- 转换int(),float(),
- 获取的是字符串
-
print()
- \t??? 对齐,缩进4个字符
-
-
02判断语句
-
布尔类型
- Ture??? False
-
比较运算符
- ==
- !=
- >
- <
- >=
- <=
-
if else判断语句
- if?? 条件:??? 缩进4个。输入条件elif?? 条件:??? 缩进4个。输入条件else:??? 缩进4个,输入条件
- 互斥且有顺序
- 条件判断中可以直接写input
-
嵌套
- if?? 条件1:????? 满足条件1? 做事情1????? 满足条件1? 做事情2?????? if? 条件2:???????????? 满足条件2?? 做的事情
-
-
03循环语句
-
while
- while? 条件:????? 满足时,执行事情1????? 满足时,执行事情 1
- 注意缩进
- 布尔结果
- 需要终止条件
-
while嵌套
- while? 条件:????? 满足时,执行事情1????? 满足时,执行事情 1????? while 条件2:?????????? 满足条件2,执行事情
-
for
- 轮询机制,一批内容逐个处理
- for?? 临时变量? in? 待处理数据集????? 循环满足条件时执行的代码
- 无法定义循环条件,被动取数据
- 临时变量不建议在for外使用
- range
- range(num)????? 获取一个从0开始到num结束的数字序列,不包含num本身
- range(num1, num2)????? 获取一个从num1开始到num2结束的数字序列,不包含num2本身
- range(num1, num2, step)????? 获取一个从num1开始到num2结束的数字序列,不包含num2本身,步长step
-
中断
- continue
- 中断本次循环,直接下一个循环
- while和for
- break
- 直接结束整个循环
- while和for
- continue
-
-
04函数
- 定义:组织好的、可重复使用,实现特定功能的代码段
- def??? 函数名(传入参数):??????? 函数体??????? return? 返回值变量 = 函数(参数)
- 函数体在遇到return后就结束了
- 若没有return返回None类型,可用于if判断等同False;或者代表空置
-
函数的说明文档
- :param? x :? 形参x的说明解释
-
函数的嵌套
- 一个函数里调用了另外的函数
- 按照顺序执行
-
变量
- 局部变量
- 定义在函数体内部的变量,只在函数体内生效
- 临时保存数据
- 全局变量
- 局部内修改全局变量
- global??? 变量
- 声明全局变量
- 局部变量
-
05python数据容器
- 一个容器容纳多个数据,每个数据为元素,元素类型不限制
-
列表
-
定义
- ?[元素1,? 元素2, ,,,,]
- 变量名 =? [元素1,? 元素2, ,,,,]
- [ ]空列表
- list()
-
下标索引
- 元素是有顺序的从0开始
- list[5]第六个元素
- 倒序,最后一个元素索引-1
- 如果嵌套了列表则可继续加索引,例如[1][2]
-
常用操作
- 查询指定元素的下标
- 列表.index(元素)
- 修改特定位置的元素值
- 列表[下标]=值
- 插入元素
- 列表.insert(下标,元素)
- 追加元素
- 列表.append(元素)
- 列表.extend(其他数据容器),将其他数据的内容取出,依次追加到列表尾部
- 删除元素
- del 列表[下标]
- 列表.pop(下标)
- 可以提出来删除的元素
- 删除某元素在列表中的第一个匹配项
- 列表.remove(元素)
- 从前到后搜索
- 清空列表内容
- 列表.clear()
- 统计元素在列表的数量
- 列表.count(元素)
- 统计列表中全部元素的数量
- len(列表)
- 查询指定元素的下标
-
列表的遍历
- while
- 自定循环条件
- 可以无限循环
- 适用任何
- for
- 不可自定
- 适用遍历容器,简单固定次数
- while
-
-
元组
- 元组不可修改
- 语法
- (元素,? 元素. 元素,? 元素, 元素,? 元素)
- 变量=(元素,? 元素. 元素,? 元素, 元素,? 元素)
- 变量=()空元组
- 变量=tuple()空元组
- 若只有一个数据要加,
- 可嵌套
- 常用操作
- 取元素
- 元组[下标]
- 查找元素
- index()
- 统计次数
- count()
- 元素个数
- len()
- 取元素
- 元组遍历
- while
- for
- 可修改元组内嵌套的list
-
字符串
- 支持下标索引
- 不可修改,可操作得到新字符串
- index()查找元素
- 字符串.replace(字符串1,字符串2)
- 将字符串1提换为字符串2,得到一个新的字符串
- 字符串.split(分隔符字符串)
- 按照指定的分隔符字符串,将字符串分割为多个字符串,存入列表对象中
- 规整操作
- 去掉前后的指定字符串
- 字符串.strip(字符串)
- 去前后空格
- 字符串.strip()
- 去掉前后的指定字符串
-
序列的切片
- 定义:内容连续有序可使用下标索引的容器
- 列表? 元组? 字符串
- 切片:从一个序列中取一个子序列
- 语法
- 序列[起始下标:结束下标:步长]
- 步长2代表每次跳过1个元素取
- 步长为负数意思是反方向取
- 起始和结束不写代表从头到尾
- 序列[起始下标:结束下标:步长]
- 定义:内容连续有序可使用下标索引的容器
-
集合
- 定义
- {元素, 元素, 元素, 元素}
- 变量 = {元素, 元素, 元素, 元素}
- 变量 = set()
- 特点
- 不允许重复
- 不保证顺序
- 不支持下标索引
- 可修改
- 操作
- 添加元素
- 集合.add(元素)
- 移除元素
- 集合.remove(元素)
- 随机取出一个元素
- 集合.pop()
- 清空集合
- 集合.clear()
- 取两个集合的差集
- 集合1.different(集合2)
- 取出集合1和集合2的差集,集合1有集合2没有的
- 得到新集合
- 消除差集
- 集合1.difference_update(集合2)
- 对比集合1和2,在集合1中删除和集合2相同的元素
- 集合1修改,集合2不变
- 集合合并
- 集合1.unior(集合2)
- 得到新集合
- 统计元素数量
- len(集合)
- 遍历
- 不支持下标,不可用while
- 用for
- 添加元素
- 定义
-
字典
- 基础定义
- key:value
- {key: value, key: value,key: value,key: value}
- dict()
- ?特点
- 不允许key重复
- 不可使用下标索引
- key不可为字典
- 操作
- 新增元素
- 字典[key]=value
- 更新元素(覆盖)
- 字典[key]=value
- 删除元素
- 字典.pop(key)
- 结果取出该key和value;即被删除
- 清空元素
- 字典.clear()
- 获取全部的key
- 字典.keys()
- 遍历字典
- 先把keys获取for?? key?? in? keys:
- 或者直接对字典进行for循环for?? key?? in? 字典:
- 统计字典的元素数量
- len(字典)
- 新增元素
- 基础定义
-
容器对比
-
索引
- 支持
- 列表
- 元组
- 字符串
- 不支持
- 集合
- 字典
- 支持
-
重复元素
- 支持
- 列表
- 元组
- 字符串
- 不支持
- 集合
- 字典
- 支持
-
修改
- 支持
- 列表
- 集合
- 字典
- 不支持
- 元组
- 字符串
- 支持
-
下标索引
- 支持
- 列表
- 元组
- 字符串
- 不支持
- 集合
- 字典
- 支持
-
场景
- 列表
- 一组数据,可修改,可重复
- 元组
- 一组数据 ,不可修改,可重复
- 字符串
- 字符串
- 集合
- 一组数据,去重
- 字典
- 一组数据,可用key检索value
- 列表
-
-
通用操作
- 简单计算
- len(容器)
- max(容器)
- min(容器)
- 容器转换
- list(容器)
- str(容器)
- tuple(容器)
- set(容器)
- 排序
- sorted(容器)
- 从小到大
- sorted(容器, [reverse=Ture])
- 反向
- sorted(容器)
- 简单计算
-
06函数进阶
-
多返回值
- return? 1, 2
- 按照返回值的顺序,写对应的多个变量接收
- 变量之间用,隔开
- 支持不同类型
- return? 1, 2
-
多种传参方式
- 位置参数
- 调用函数时根据函数定义的参数位置来传递参数
- 顺序个数必须一致
- 关键字参数
- 示例(name='小王’)
- 缺省参数
- 即默认参数
- 不定长参数
- 不确定传递多少参数的场景
- 位置不定长
- 示例def??? use_info(*args)意思是所有的参数都会被args变量收集
- 注意收集后是合并为一个元组
- 关键字不定长
- 示例def?? use_info(**kwargs)意思是:参数是键-值形式
- 收集后成为字典
- 位置参数
-
匿名函数
- 函数作为参数传递
- 计算逻辑的传递,非数据的传递
- lambda匿名函数
- lambda?? 传入参数:函数体(一行代码)
- 无名称的匿名函数只能临时使用一次
-
-
07文件操作
-
编码
- 规则的集合,记录内容与二进制转换的逻辑
- UTF-8
-
读取
- open(name, mode, encoding)
- name是目标文件的名称的字符串,可包含路径
- mode是打开文件的模式
- 编码格式
- 文件对象.read(num)
- 从文件中读取的数据的长度
- 文件对象.readlines()
- 一次性读取,返回的是一个列表,每一行的数据是一个元素
- for循环读取文件
- for? line? in open("python.txt","r")?????? print(line)
- 文件打开后,读取会续接
- 关闭?? 文件变量.close()
- wirh open("python.txt","r") as f:
- 可以自动关闭文件
- open(name, mode, encoding)
-
写入
- open函数w模式
- 文件不存在,创建
- 已存在文件,清空原有的
- open函数w模式
-
内容刷新
- f.flush()
-
追加
- open函数a模式
- 文件不存在,创建
- 已存在文件,继续增加在后面
- \n?? 换行符
- open函数a模式
-
-
08异常和模块
- 异常
- 错误提示
- 捕获异常
- try:???? 可能出错的代码except:??? 如果出现异常执行的代码
- try:???? print(name)except NameError? as? e:???? print('name变量变量名称未定义的错误')
- try:??? 代码except??? Exception? as?? e :???? 捕获所有的异常?? print(e)else:??? 没有异常执行代码finally:??? 无论如何都要执行的操作
- 异常的传递
- 函数1的异常会传递到其他异常
- 模块
- 导入
- [from? 模块名]? import? [模块|类|变量|函数|*][as 别名]
- from可省略,as可省略
- 通过.确定层级关系
- 一般在开头导入
- 自定义
- 同名功能时,后面会覆盖前面的
- main
- all
- 导入
- python包
- 即py文件夹包含一堆模块,包含一个_init_.py
- 第三方包
- 异常
-
09数据可视化
- json
- 轻量级数据交互格式
- python列表/字典转为json字符串
- json_str = json.dumps(data)
- 若有中文
- json_str = json.dumps(data, ensure_ascii=False)
- json字符串转python数据格式
- 转列表/字典
- l = json.loads(字符串)
- 转列表/字典
- json
文章来源:https://blog.csdn.net/renhaojie2016/article/details/135381712
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!