介绍
告别枯燥,告别枯燥,致力于打造 Python 经典小例子、小案例。
同时托管在Python中文网
使用Python制作的各种小工具:Python实用小工具
License
允许按照要求转载,但禁止用于任何商用目的。如果转载本库小例子、小案例,请备注下方链接:
Python小例子 https://github.com/jackzhenguo/python-small-examples
Python 小例子
基本操作
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 常见算术运算 | 运算 | v1 | |
2 | 实现 relu | max | V4.0 | |
3 | 进制转化 | bin,oct,hex | V4.0 | |
4 | 整数和ASCII互转 | chr,ord | V1.0 | |
5 | 元素都为真检查 | all | V2.0 | |
6 | 至少一个为真检查 | any | V2.0 | |
7 | 判断是真是假 | bool | V2.0 | |
8 | 创建复数 | complex | V1.0 | |
9 | 取商和余数 | divmod | V1.0 | |
10 | 转为浮点类型 | float | V1.0 | |
11 | 转为整型 | int | V1.0 | |
12 | 次幂 | pow | V1.0 | |
13 | 四舍五入 | round | V1.0 | |
14 | 链式比较 | compare | V1.0 | |
15 | 字符串转字节 | bytes,utf-8 | V1.0 | |
16 | 任意对象转为字符串 | str | V1.0 | |
17 | 执行字符串表示的代码 | compile | V1.0 | |
18 | 计算表达式 | eval | V1.0 | |
19 | 字符串格式化 | format | V1.0 | |
20 | 交换两元素 | pack,unpack | V1.0 | |
21 | 转为字典 | dict | V1.0 | |
22 | 冻结集合 | frozenset | V1.0 | |
23 | 转为集合类型 | set | V1.0 | |
24 | 转元组 | tuple | V1.0 | |
25 | 查看变量所占字节数 | getsizeof | V1.0 | |
26 | 含单个元素的元组 | tuple | V1.0 | |
27 | 列表删除之坑 | list | V1.0 | |
28 | 列表快速复制之坑 | list | V1.0 | |
29 | 发现列表前3个最大或最小数 | list heapq | v1.0 | |
30 | 字符串驻留 | str | V1.0 | |
31 | 创建空集合错误 | set | V1.0 | |
32 | 充分认识for | for | V1.0 | |
33 | 认识执行时机 | generator | V1.0 |
函数和模块常见用法
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 操作函数对象 | operator | V2.0 | |
2 | 创建range序列 | range | V1.0 | |
3 | 生成逆序序列 | range | V1.0 | |
4 | 拿来就用的排序函数 | sorted | V1.0 | |
5 | 求和函数 | sum | V1.0 | |
6 | 函数的五类参数使用例子 | variable parameter | V2.0 | |
7 | 使用slice对象 | slice | V2.0 | |
8 | lambda 函数 | lambda | V3.0 | |
9 | 枚举对象 | enumerate | V1.0 | |
10 | 过滤器filter | filter | V1.5 | |
11 | 返回对象哈希值 | hash | V1.0 | |
12 | 带名字的元组 | namedtuple | V1.0 | |
13 | 一行代码实现列表反转 | reverse | V1.0 | |
14 | 反转字符串的两个方法 | reversed | V1.0 | |
15 | join 串联字符串 | join | V1.0 | |
16 | 字符串字节长度 | encode | V1.0 | |
17 | groupby单字段分组 | itertools, groupby,lambda | V1.0 | |
18 | groupby多字段分组 | itemgetter,itertools,groupby | V1.0 | |
19 | itemgetter和key函数 | operator,itemgetter,itertools | V1.0 | |
20 | sum函数计算和聚合同时做 | sum,generator | V1.0 | |
21 | 默认参数设为空 | function | V1.0 | |
22 | 各种参数使用之坑 | function paremeter | V1.0 | |
23 | lambda自由参数之坑 | lambda | V1.0 | |
24 | 使用堆升序列表 | sort heapq | v1.0 |
面向对象
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 所有对象之根 | object | V1.0 | |
2 | 对象是否可调用 | callable | V2.5 | |
3 | ascii 展示对象 | __repr__ |
V2.5 | |
4 | 类方法 | classmethod | V1.5 | |
5 | 动态删除属性 | delattr,hasattr | V1.5 | |
6 | 一键查看对象所有方法 | dir | V1.5 | |
7 | 动态获取对象属性 | getattr | V1.5 | |
8 | 对象是否有某个属性 | hasattr | V1.5 | |
9 | 对象门牌号 | id | V1.0 | |
10 | 实例和对象关系判断 | isinstance | V1.5 | |
11 | issubclass父子关系鉴定 | issubclass | V1.5 | |
12 | 创建属性的两种方法 | property | V2.5 | |
13 | 查看对象类型 | type | V1.0 | |
14 | 元类使用介绍 | type,__class__ |
V2.0 | |
15 | 相同值的不可变对象 | mutable | V1.0 | |
16 | 对象销毁顺序 | OOP del | V1.0 | |
17 | 子类继承父类的静态方法吗? | staticmethod | V1.0 |
正则
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 正则中字符 r 作用 |
re,r | V3.0 | |
2 | 正则原子操作 | re | V3.0 | |
3 | 正则中的转义 | re,\ | V3.0 | |
4 | 正则最普通查找 | re,findall | V3.0 | |
5 | 使用通用字符查找 | re,\s,\w,\d | V3.0 | |
6 | 使用元字符查找 | re,+,* | V3.0 | |
7 | 捕获子串 | () | V3.0 | |
8 | 贪心捕获和非贪心捕获 | re | V1.0 | |
9 | 使用正则做密码安全检查 | re | V1.0 | |
10 | 爬取百度首页标题 | re | V1.0 | |
11 | 批量转化为驼峰格式(Camel) | re | V1.0 | |
12 | 使用正则判断是否为正浮点数 | str,re,float | V1.0 | |
13 | 使用正则提取正整数和大于0的浮点数 | re findall | v2 |
装饰器迭代器生成器
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 通俗理解装饰器 | decorator | V1.0 | |
2 | 测试函数运行时间的装饰器 | decorator | V1.0 | |
3 | 统计异常次数装饰器 | decorator,nonlocal | V1.5 | |
4 | 定制递减迭代器 | Iterator | V3.0 | |
5 | 创建迭代器 | iter,__iter__ |
V1.5 | |
6 | 反向迭代器reversed | reversed | V1.0 | |
7 | zip迭代器 | zip | V1.5 | |
8 | list分组(生成器版) | yield,generator | V1.0 | |
9 | 列表全展开(生成器版) | list,yield,generator | V1.0 | |
10 | chain串联小容器为大容器 | itertools,chain | V1.0 | |
11 | product 使用案例 | product | V1.0 | |
12 | 斐波那契数列前n项 | yield,range | V1.0 |
绘图
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | turtle绘制奥运五环图 | turtle | V1.0 | |
2 | turtle绘制漫天雪花 | turtle | V1.0 | |
3 | Python词云图 | WordCloud | V1.0 | |
4 | Plotly柱状图和折线图 | plotly | V1.0 | |
5 | seaborn热力图 | seaborn | V1.0 | |
6 | Pyecharts仪表盘 | pyecharts | V1.0 | |
7 | Pyecharts漏斗图 | pyecharts | V1.0 | |
8 | Pyecharts水球图 | pyecharts | V1.0 | |
9 | Pyecharts饼图 | pyecharts | V1.0 | |
10 | Pyecharts极坐标图 | pyecharts | V1.0 | |
11 | Pyecharts词云图 | pyecharts | V1.0 | |
12 | Pyecharts热力图 | pyecharts | V1.0 | |
13 | matplotlib绘制动图 | matplotlib | V1.0 | |
14 | seaborn pairplot图 | seaborn | V1.0 | |
15 | pyecharts传入Numpy数据绘图失败 | numpy pyecharts | V1.0 | |
16 | 图像处理包pillow | pillow | V1.0 |
数据分析
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 数据分析神器:deepnote | deepnote | v1.0 | |
2 | NumPy 的pad填充方法 | NumPy pad | V1.0 | |
3 | 创建下对角线为1、2、3、4的对角矩阵 | NumPy diag | V1.0 | |
4 | cut 数据分箱 | Pandas cut | v1.0 | |
5 | 丢弃空值和填充空值 | Pandas dropna fillna | v1.0 | |
6 | apply 方法去掉特殊字符 | pandas apply | v1.0 | |
7 | 使用map对列做特征工程 | pandas map | v1.0 | |
8 | category列转数值 | pandas category | v1.0 | |
9 | rank排名 | pandas rank | v1.0 | |
10 | 完成数据下采样,调整步长由小时为天 | pandas resample | v1.0 | |
11 | 如何用 Pandas 快速生成时间序列数据 | pandas util | v1.0 | |
12 | 如何快速找出 DataFrame 所有列 null 值个数 | pandas isnull sum | v1.0 | |
13 | 重新排序 DataFrame 的列 | pandas dataframe | v1.0 | |
14 | 使用 count 统计词条 出现次数 | pandas count | v1.0 | |
15 | split 求时分(HH:mm)的分钟差 | pandas split | v1.0 | |
16 | melt透视数据小技巧 | pandas melt | v1.0 | |
17 | pivot 透视小技巧 | pandas melt | v1.0 | |
18 | p随机读取文件的K行,生成N个 | pandas sample | v1.0 | |
19 | 格式化Pandas的时间列 | pandas apply | v1.0 |
其他常用
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | help 一键帮助 | help | V1.0 | |
2 | 获取用户输入 | input | V1.0 | |
3 | 文件读写和mode 取值表 | open,read,write,with,mode | V2.0 | |
4 | operator使用举例 | operator | V1.0 | |
5 | 传输json对象 | json | V2.0 | |
6 | 获取文件后缀名 | os,splitext | V1.0 | |
7 | 获取路径中的文件名 | os,split | V1.0 | |
8 | 批量修改文件后缀 | argparse,listdir | V1.0 | |
9 | xls批量转换成xlsx | os,listdir,splitext | V1.0 | |
10 | 获取指定后缀名的文件 | os,listdir,splitext | V1.0 | |
11 | 批量压缩文件 | zipfile | V1.0 | |
12 | 32位加密 | hashlib | V1.0 | |
13 | 年的日历图 | calendar | V1.0 | |
14 | 判断是否为闰年 | calendar | V1.0 | |
15 | 判断月有几天 | calendar,datetime | V1.0 | |
16 | 月的第一天 | datetime | V1.0 | |
17 | 月的最后一天 | calendar,datetime | V1.0 | |
18 | 获取当前时间 | time,datetime | V1.0 | |
19 | 字符时间转时间 | time,datetime | V1.0 | |
20 | 时间转字符时间 | time,datetime | V1.0 | |
21 | 获得某天后的1~n天 | Calendar,monthrange | V4.0 | |
22 | 默认启动主线程 | threading | V1.0 | |
23 | 创建线程 | threading | V1.0 | |
24 | 交替获得CPU时间片 | threading | V1.0 | |
25 | 多线程抢夺同一个变量 | threading | V1.0 | |
26 | 多线程变量竞争引起的问题 | threading | V1.0 | |
27 | 多线程锁 | threading,lock | V1.0 | |
28 | 时间转数组及常用格式 | time,datetime,format | V1.0 | |
29 | nonlocal用于内嵌函数中 | nonlocal | V2.0 | |
30 | global 声明全局变量 | global | V2.0 | |
31 | 共享变量未绑定之坑 | global | V1.0 | |
32 | 优化代码异常输出包 | debugger | V1.0 | |
33 | 一行代码找到编码 | chardet | V1.0 | |
34 | 创建SQLite连接 | SQLite | v1.0 | |
35 | json对象转python对象 | python json | v1.0 | |
36 | python对象转json对象 | python json | v1.0 | |
37 | 一行代码让 pip 安装加速 100 倍 | pip install | v1.0 |
工作常用案例
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 不用else和if实现计算器 | operator | V1.0 | |
2 | 去最求平均 | list,sort,round | V1.0 | |
3 | 打印99乘法表 | for,range,format | V1.0 | |
4 | 递归版flatten函数 | recursion,list,isinstance | V1.0 | |
5 | 列表等分为n份 | list,ceil | V1.0 | |
6 | 压缩列表 | list,filter | V1.0 | |
7 | 求更长的列表 | max,lambda | V1.0 | |
8 | 求列表众数 | max,lambda,count | V1.0 | |
9 | 所有多个列表的最大值 | max,lambda | V1.0 | |
10 | 列表检查重复 | set | V1.0 | |
11 | 浮点数等差数列 | range,float | V1.0 | |
12 | 按条件分组 | lambda | V1.0 | |
13 | map实现向量运算 | map,lambda | V1.0 | |
14 | 值最大的字典 | max,lambda | V1.0 | |
15 | 合并两个字典 | ** | V1.0 | |
16 | Topn 字典 | heapq,nlargest | V1.0 | |
17 | 判断是否为异位词 | collections,Counter | V1.0 | |
18 | 逻辑上合并字典 | ChainMap | V1.0 | |
19 | sample 样本抽样 | random,sample | V1.0 | |
20 | 重洗数据集 | shuffle | V1.0 | |
21 | 10个均匀分布的坐标点 | random,uniform | V1.0 | |
22 | 10个高斯分布的坐标点 | random,gauss | V1.0 | |
23 | 是否互为排序词 | collections,defaultdict | V1.0 | |
24 | str1是否由str2旋转而来 | str | V1.0 | |
25 | 寻找第n次出现位置 | enumerator | V1.0 | |
26 | 找出所有重复元素 | calendar,datetime | V1.0 | |
27 | 联合统计次数 | Counter | V1.0 | |
28 | 求两点球面距离 | math asin | V1.0 | |
29 | 获取文件编码 | chardet | V1.0 | |
30 | 格式化json串 | json | V1.0 |
Python原创教程
这是经过很久打磨的一个Python教程,全部是个人原创,已首发在公众号,并且托管在我的个人网站。
想系统入门Python的欢迎学习:
Python关于数字的20个操作
NumPy入门教程
1 NumPy介绍
8 数组形状和大小
9 重塑array
10 如何将一维array转换为二维array(如何向数组添加新轴)
11 NumPy索引和切片
12 如何从现有数据创建数组
13 数组基本操作
14 广播
15 更有用的数组操作
16 生成随机数