Tips of Python
数据容器
列表
- 常见方法
- list.append(元素):向列表中追加一个元素
- list.extand(容器):将数据容器的内容依次取出,追加到列表的尾部
- list.insert(下标,元素):在指定下标处,插入指定的元素
- del列表[下标]:删除列表指定下标元素
- 列表.pop(下标):删除列表指定下标元素
- 列表.remove(元素):从前向后,删除此元素第一个匹配项
- 列表.clear():清空列表
- 列表.count(元素):统计此元素在列表中出现的次数
- index(元素):查找指定元素在列表的下标列表.找不到报错ValueError
- len(列表):统计容器内有多少元素
- 特点
- 可以容纳多个元素(上限为2**63-1、9223372036854775807个)
- 可以容纳不同类型的元素(混装)
- 数据是有序存储的(有下标序号)
- 允许重复数据存在
- 可以修改(增加或删除元素等)
元组
- 操作方法
- index():查找某个数据,如果数据存在返回对应的下标,否则报错
- count():统计某个数据在当前元组出现的次数
- len(元组):统计元组内的元素个数
- 特点
- 不可修改内容(可以修改内部st的内部元素)
- 有序、任意数量元素、允许重复元素,不可修改
- 支持for循环
字符串
- 常见方法
- 字符串[下标]:根据下标索引取出特定位置字符
- 字符串.index(字符串):查找给定字符的第一个匹配项的下标
- 字符串.replace(字符串1,字符串2):将字符串内的全部字符串1,替换为字符串符串2,不会修改原字符串,而是得到一个新的
- 字符串.split(字符串):按照给定字符串,对字符串进行分隔字符串.不会修改原字符串,而是得到一个新的列表
- 字符串.strip(字符串)移除首尾的空格和换行符或指定字符串
- 字符串.count(字符串):统计字符串内某字符串的出现次数
- len(字符串):统计字符串的字符个数
- 特点
- 只可以存储字符串
- 长度任意(取决于内存大小)
- 支持下标索引
- 允许重复字符串存在
- 不可以修改(增加或者删除元素)
- 支持for循环
序列
- 定义:内容连续、有序、支持下标索引的一类数据容器
- 分类:列表、元组、字符串
- 序列如何切片:序列[起始:结束:步长]
集合
- 常用方法
- 集合.add(元素):集合内添加一个元素
- 集合.remove(元素):移除集合内指定的元素
- 集合.pop():从集合中随机取出一个元素
- 集合.clear():将集合清空
- 集合1.difference(集合2)得到一个新集合,内含2个集合的差集原有的2个集合内容不变在集合1中,删除集合2中存在的元素
- 集合1.difference_update(集合2)集合1被修改,集合2不变
- 集合1.union(集合2)得到1个新集合,内含2个集合的全部元素原有的2个集合内容不变
- len(集合)免add得到一个整数,记录了集合的元素数量
- 特点
- 可以容纳多个数据
- 可以容纳不同类型的数据(混装)
- 数据是无序存储的(不支持下标索引)
- 不允许重复数据存在
- 可以修改(增加或删除元素等)
- 支持for循环
字典
- 常用方法
- 字典[Key]:获取指定Key对应的Value值
- 字典[Key]=Value:添加或更新键值对
- 字典.pop(Key):取出Key对应的Value并在字典内删除此Key的键值对
- 字典.clear():清空字典
- 字典.keys():获取字典的全部Key,可用于for循环遍历字典
- len(字典):计算字典内的元素数量
- 特点
- 可以容纳多个数据
- 可以容纳不同类型的数据
- 每一份数据是KeyValue键值对
- 可以通过Key获取到Value,Key不可重复(重复会覆盖)
- 不支持下标索引
- 可以修改(增加或删除更新元素等)
- 支持for循环,不支持while循环
数据容器的总结
- 应用场景
- 列表:一批数据,可修改、可重复的存储场景
- 元组:一批数据,不可修改、可重复的存储场景
- 字符串:一串字符串的存储场景
- 集合:一批数据,去重存储场景
- 字典:一批数据,可用Key检索Value的存储场景
- 通用功能
- 通用for循环:遍历容器(字典是遍历key)
- max:容器内最大元素
- min():容器内最小元素
- len():容器元素个数
- list():转换为列表
- tuple():转换为元组
- str():转换为字符串
- set():转换为集合
- sorted(序列,[reverse=True]):排序,reverse:=True表示降序得到一个排好序的列表
函数
参数传递
- 掌握位置参数
- 根据参数位置来传递参数
- 掌握关键字参数
- 通过“键=值”形式传递参数,可以不限参数顺序
- 可以和位置参数混用,位置参数需在前
- 掌握缺省参数
- 不传递参数值时会使用默认的参数值
- 默认值的参数必须定义在最后
- 掌握不定长参数
- 位置不定长传递以*号标记一个形式参数,以元组的形式接受参数,形式参数一般命名为args
- 关键字不定长传递以**号标记一个形式参数,以字典的形式接受参数,形式参数一般命名为kwargs
lambda匿名函数
- 匿名函数使用lambda关键字进行定义
- 定义语法:lambda传入参数:函数体(一行代码)
- 注意事项:
- 匿名函数用于临时构建一个函数只用一次的场景
- 匿名函数的定义中,函数体只能写一行代码,如果函数体要写多行代码,不可用lambda匿名函数,应使用def定义带名函数
文件
- 读入操作汇总
- 文件对象open(file,mode,encoding):打开文件获得文件对象
- 文件对象.read(num):读取指定长度字节不指定num读取文件全部
- 文件对象.readline():读取一行
- 文件对象.readlines():读取全部行,得到列表
- for line in 文件对象:fo循环文件行,一次循环得到一行数据
- 文件对象.close():关闭文件对象
- with open()as f:通过with openi语法打开文件,可以自动关闭
- 写入操作汇总
- 写入文件使用open函数的” W模式进行写入
- 写入的方法有:
- wirte(),写入内容
- flush(),刷新内容到硬盘中
- 注意事项:
- W模式,文件不存在,会创建新文件
- W模式,文件存在,会清空原有内容
- close()方法,带有flush()方法的功能
异常
- 为什么要捕获异常
在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。 - 捕获异常的语法
1
2
3
4
5
6
7
8try:
可能要发生异常的语句
except[异常 as 别名:]
出现异常的准备手段
[else]:
未出现异常时应做的事情
[finally]:
不管出不出现异常都会做的事情 - 如何捕获所有异常
- 异常的种类多种多样,如果想要不管什么类型的异常都能捕获到,那么使用:
- except:
- except Exception:
模块
- 如何自定义模块并导入
在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用。 - main变量的功能是
if_main_=”main“表示,只有当程序是直接执行的才会进入 if内部,如果是被导入的,则if无法进入 - 注意事项
- 不同模块,同名的功能,如果都被导入,那么后导入的会覆盖先导入的中
- __all_变量可以控制import *的时候哪些功能可以被导入
json数据格式转换
1 | import json #引入json包 |
pyecharts模块折线图可视化
- 想要做出数据可视化效果图,可以借助pyecharts模块来完成
- pyecharts 文档
1 | from pyecharts.charts import Line |
pyecharts的地图可视化
1 | from pyecharts.charts import Map |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 e哥の自我修养!