一、基础入门笔记
发布时间:2024年01月04日
-
01基础语法
-
字面量
- 被写下来的固定的值
-
数字
- 整数int
- 浮点数float
- 复数complet
- 布尔
-
字符串"ccc"
- 描述文本的数据类型
- 大小比较依据ASC||,a>A>
-
列表
-
元组
-
集合
-
字典
-
注释
-
变量
-
数据类型及转换
-
标识符
-
运算符
-
字符串
-
三种定义
-
拼接
-
常用占位
-
精度控制
-
字符串格式化
-
表达式格式化
- 表达式:一条具有明确执行结果的代码语句
- %d
- f"?? {}"
- %s
-
数据输入input
-
print()
-
02判断语句
-
布尔类型
-
比较运算符
-
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
-
中断
-
04函数
- 定义:组织好的、可重复使用,实现特定功能的代码段
- def??? 函数名(传入参数):??????? 函数体??????? return? 返回值变量 = 函数(参数)
- 函数体在遇到return后就结束了
- 若没有return返回None类型,可用于if判断等同False;或者代表空置
-
函数的说明文档
-
函数的嵌套
-
变量
- 局部变量
- 定义在函数体内部的变量,只在函数体内生效
- 临时保存数据
- 全局变量
- 局部内修改全局变量
-
05python数据容器
- 一个容器容纳多个数据,每个数据为元素,元素类型不限制
-
列表
-
定义
- ?[元素1,? 元素2, ,,,,]
- 变量名 =? [元素1,? 元素2, ,,,,]
- [ ]空列表
- list()
-
下标索引
- 元素是有顺序的从0开始
- list[5]第六个元素
- 倒序,最后一个元素索引-1
- 如果嵌套了列表则可继续加索引,例如[1][2]
-
常用操作
- 查询指定元素的下标
- 修改特定位置的元素值
- 插入元素
- 追加元素
- 列表.append(元素)
- 列表.extend(其他数据容器),将其他数据的内容取出,依次追加到列表尾部
- 删除元素
- 删除某元素在列表中的第一个匹配项
- 清空列表内容
- 统计元素在列表的数量
- 统计列表中全部元素的数量
-
列表的遍历
-
元组
- 元组不可修改
- 语法
- (元素,? 元素. 元素,? 元素, 元素,? 元素)
- 变量=(元素,? 元素. 元素,? 元素, 元素,? 元素)
- 变量=()空元组
- 变量=tuple()空元组
- 若只有一个数据要加,
- 可嵌套
- 常用操作
- 元组遍历
- 可修改元组内嵌套的list
-
字符串
- 支持下标索引
- 不可修改,可操作得到新字符串
- index()查找元素
- 字符串.replace(字符串1,字符串2)
- 字符串.split(分隔符字符串)
- 按照指定的分隔符字符串,将字符串分割为多个字符串,存入列表对象中
- 规整操作
-
序列的切片
- 定义:内容连续有序可使用下标索引的容器
- 切片:从一个序列中取一个子序列
- 语法
- 序列[起始下标:结束下标:步长]
- 步长2代表每次跳过1个元素取
- 步长为负数意思是反方向取
- 起始和结束不写代表从头到尾
-
集合
- 定义
- {元素, 元素, 元素, 元素}
- 变量 = {元素, 元素, 元素, 元素}
- 变量 = set()
- 特点
- 操作
- 添加元素
- 移除元素
- 随机取出一个元素
- 清空集合
- 取两个集合的差集
- 集合1.different(集合2)
- 取出集合1和集合2的差集,集合1有集合2没有的
- 得到新集合
- 消除差集
- 集合1.difference_update(集合2)
- 对比集合1和2,在集合1中删除和集合2相同的元素
- 集合1修改,集合2不变
- 集合合并
- 统计元素数量
- 遍历
-
字典
- 基础定义
- key:value
- {key: value, key: value,key: value,key: value}
- dict()
- ?特点
- 操作
- 新增元素
- 更新元素(覆盖)
- 删除元素
- 字典.pop(key)
- 结果取出该key和value;即被删除
- 清空元素
- 获取全部的key
- 遍历字典
- 先把keys获取for?? key?? in? keys:
- 或者直接对字典进行for循环for?? key?? in? 字典:
- 统计字典的元素数量
-
容器对比
-
通用操作
- 简单计算
- 容器转换
- list(容器)
- str(容器)
- tuple(容器)
- set(容器)
- 排序
- sorted(容器)
- sorted(容器, [reverse=Ture])
-
06函数进阶
-
多返回值
- return? 1, 2
- 按照返回值的顺序,写对应的多个变量接收
- 变量之间用,隔开
- 支持不同类型
-
多种传参方式
- 位置参数
- 调用函数时根据函数定义的参数位置来传递参数
- 顺序个数必须一致
- 关键字参数
- 缺省参数
- 不定长参数
- 不确定传递多少参数的场景
- 位置不定长
- 示例def??? use_info(*args)意思是所有的参数都会被args变量收集
- 注意收集后是合并为一个元组
- 关键字不定长
- 示例def?? use_info(**kwargs)意思是:参数是键-值形式
- 收集后成为字典
-
匿名函数
- 函数作为参数传递
- 计算逻辑的传递,非数据的传递
- lambda匿名函数
- lambda?? 传入参数:函数体(一行代码)
- 无名称的匿名函数只能临时使用一次
-
07文件操作
-
编码
-
读取
- 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函数a模式
- 文件不存在,创建
- 已存在文件,继续增加在后面
- \n?? 换行符
-
08异常和模块
- 异常
- 错误提示
- 捕获异常
- try:???? 可能出错的代码except:??? 如果出现异常执行的代码
- try:???? print(name)except NameError? as? e:???? print('name变量变量名称未定义的错误')
- try:??? 代码except??? Exception? as?? e :???? 捕获所有的异常?? print(e)else:??? 没有异常执行代码finally:??? 无论如何都要执行的操作
- 异常的传递
- 模块
- 导入
- [from? 模块名]? import? [模块|类|变量|函数|*][as 别名]
- from可省略,as可省略
- 通过.确定层级关系
- 一般在开头导入
- 自定义
- python包
- 即py文件夹包含一堆模块,包含一个_init_.py
- 第三方包
-
09数据可视化
- json
- 轻量级数据交互格式
- python列表/字典转为json字符串
- json_str = json.dumps(data)
- 若有中文
- json_str = json.dumps(data, ensure_ascii=False)
- json字符串转python数据格式
文章来源:https://blog.csdn.net/renhaojie2016/article/details/135381712
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!