Python-200道练习题库
编辑日期: 2024-07-14 文章阅读: 次
介绍
告别枯燥,致力于打造 Python 经典小例子、小案例。
欢迎关注我原创的200个Python小例子github库,目前超过5.8K人关注。
点击关注: Python小例子
Python-small-examples,是我在2019年12月,在github创建的一个库,以提交Python实用小例子为主,截止目前有197个,star量6047人。尽管过去几个月实在太忙,几乎没有太多时间来进一步维护更新,但是期间我依然提交了近20次commit.
再过2周我会有更多一部分课余时间,这几天我大概构思接下迭代的思路,大概形成如下几个观点:
第一,打造一个py-examples包,并发布到pypi,到时提供pip安装。
从python-small-examples中,提炼出py-examples包。
第二,此包的目标是什么?
这个包的整体目标,提供一键式主流Python模块和函数的使用案例。什么是一键式?简单来说,运行一行命令,便能运行所有例子,看到所有结果。
第三,此包的结构是怎样的?
这个包的结构,尽量做到flat,易于上手调用,比如我想知道如何使用defaultdict
,那么只需敲一行命令:find(defaultdict),执行结果会看到关于defaultdict的案例。
第四,此包的说明文档怎么做好?
整理过往的197个例子,让它们变得更加系统、有条理,目前此库的例子编排显得有些乱,需要用心梳理。然后,放到包里面。
第五,将会有更加详细的test模块,使用TDD(Test-Driven-Development)的开发思路,尽量做到更少的Bug
第六,关于时间表,预计5月底-6月中旬,发布py-examples的alpha版本,6月底发布beta版本,7月中旬发布final-v1.0版本
第七,希望更多的开发者加入,届时我会按照github工作流模式,欢迎更多Pull request,一起维护好py-examples,一起精进Python!
Python 小例子
小例子 | 链接 | 标签 | 版本 | 难度 |
---|---|---|---|---|
1 | 实现 relu | max | V4.0 | ⭐️⭐️ |
2 | 进制转化 | bin,oct,hex | V4.0 | ⭐️⭐️ |
3 | 整数和ASCII互转 | chr,ord | V1.0 | ⭐️⭐️ |
4 | 元素都为真检查 | all | V2.0 | ⭐️⭐️⭐️ |
5 | 至少一个为真检查 | any | V2.0 | ⭐️⭐️⭐️ |
6 | 判断是真是假 | bool | V2.0 | ⭐️⭐️⭐️ |
7 | 创建复数 | complex | V1.0 | ⭐️⭐️⭐️ |
8 | 取商和余数 | divmod | V1.0 | ⭐️⭐️ |
9 | 转为浮点类型 | float | V1.0 | ⭐️⭐️ |
10 | 转为整型 | int | V1.0 | ⭐️ |
11 | 次幂 | pow | V1.0 | ⭐️ |
12 | 四舍五入 | round | V1.0 | ⭐️ |
13 | 链式比较 | compare | V1.0 | ⭐️⭐️ |
14 | 字符串转字节 | bytes,utf-8 | V1.0 | ⭐️⭐️ |
15 | 任意对象转为字符串 | str | V1.0 | ⭐️⭐️ |
16 | 执行字符串表示的代码 | compile | V1.0 | ⭐️⭐️⭐️ |
17 | 计算表达式 | eval | V1.0 | ⭐️⭐️⭐️⭐️ |
18 | 字符串格式化 | format | V1.0 | ⭐️⭐️⭐️⭐️ |
19 | 拿来就用的排序函数 | sorted | V1.0 | ⭐️⭐️⭐️ |
20 | 求和函数 | sum | V1.0 | ⭐️⭐️ |
21 | nonlocal用于内嵌函数中 | nonlocal | V2.0 | ⭐️⭐️⭐️⭐️⭐️ |
22 | global 声明全局变量 | global | V2.0 | ⭐️⭐️⭐️⭐️⭐️ |
23 | 交换两元素 | pack,unpack | V1.0 | ⭐️⭐️ |
24 | 操作函数对象 | operator | V2.0 | ⭐️⭐️⭐️⭐️ |
25 | 生成逆序序列 | range | V1.0 | ⭐️⭐️ |
26 | 函数的五类参数使用例子 | variable parameter | V2.0 | ⭐️⭐️⭐️⭐️ |
27 | 使用slice对象 | slice | V2.0 | ⭐️⭐️⭐️⭐️⭐️ |
28 | lambda 函数 | lambda | V3.0 | ⭐️⭐️⭐️⭐️ |
29 | 转为字典 | dict | V1.0 | ⭐️⭐️ |
30 | 冻结集合 | frozenset | V1.0 | ⭐️⭐️ |
31 | 转为集合类型 | set | V1.0 | ⭐️⭐️ |
32 | 转元组 | tuple | V1.0 | ⭐️⭐️ |
33 | 对象是否可调用 | callable | V2.5 | ⭐️⭐️⭐️⭐️ |
34 | ascii 展示对象 | __repr__ |
V2.5 | ⭐️⭐️⭐️ |
35 | 类方法 | classmethod | V1.5 | ⭐️⭐️⭐️ |
36 | 动态删除属性 | delattr,hasattr | V1.5 | ⭐️⭐️ |
37 | 一键查看对象所有方法 | dir | V1.5 | ⭐️⭐️ |
38 | 动态获取对象属性 | getattr | V1.5 | ⭐️⭐️ |
39 | 对象是否有某个属性 | hasattr | V1.5 | ⭐️⭐️⭐️ |
40 | 对象门牌号 | id | V1.0 | ⭐️ |
41 | 实例和对象关系判断 | isinstance | V1.5 | ⭐️⭐️⭐️ |
42 | issubclass父子关系鉴定 | issubclass | V1.5 | ⭐️⭐️⭐️ |
43 | 所有对象之根 | object | V1.0 | ⭐️ |
44 | 创建属性的两种方法 | property | V2.5 | ⭐️⭐️⭐️⭐️⭐️ |
45 | 查看对象类型 | type | V1.0 | ⭐️ |
46 | 元类使用介绍 | type,__class__ |
V2.0 | ⭐️⭐️⭐️⭐️⭐️ |
47 | 枚举对象 | enumerate | V1.0 | ⭐️⭐️⭐️ |
48 | 查看变量所占字节数 | getsizeof | V1.0 | ⭐️⭐️⭐️ |
49 | 过滤器filter | filter | V1.5 | ⭐️⭐️⭐️ |
50 | 返回对象哈希值 | hash | V1.0 | ⭐️⭐️ |
51 | help 一键帮助 | help | V1.0 | ⭐️ |
52 | 获取用户输入 | input | V1.0 | ⭐️ |
53 | 创建迭代器 | iter,__iter__ |
V1.5 | ⭐️⭐️⭐️ |
54 | 文件读写和mode 取值表 | open,read,write,with,mode | V2.0 | ⭐️⭐️⭐️ |
55 | 创建range序列 | range | V1.0 | ⭐️⭐️ |
56 | 反向迭代器reversed | reversed | V1.0 | ⭐️⭐️ |
57 | zip迭代器 | zip | V1.5 | ⭐️⭐️⭐️ |
58 | operator使用举例 | operator | V1.0 | ⭐️⭐️⭐️⭐️ |
59 | 传输json对象 | json | V2.0 | ⭐️⭐️⭐️⭐️⭐️ |
60 | 不用else和if实现计算器 | operator | V1.0 | ⭐️⭐️⭐️ |
61 | 去最求平均 | list,sort,round | V1.0 | ⭐️⭐️⭐️⭐️ |
62 | 打印99乘法表 | for,range,format | V1.0 | ⭐️⭐️⭐️ |
63 | 递归版flatten函数 | recursion,list,isinstance | V1.0 | ⭐️⭐️⭐️⭐️ |
64 | 列表等分为n份 | list,ceil | V1.0 | ⭐️⭐️⭐️ |
65 | 压缩列表 | list,filter | V1.0 | ⭐️⭐️⭐️⭐️ |
66 | 求更长的列表 | max,lambda | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
67 | 求列表众数 | max,lambda,count | V1.0 | ⭐️⭐️⭐️⭐️ |
68 | 所有多个列表的最大值 | max,lambda | V1.0 | ⭐️⭐️⭐️⭐️ |
69 | 列表检查重复 | set | V1.0 | ⭐️⭐️⭐️ |
70 | 一行代码实现列表反转 | reverse | V1.0 | ⭐️⭐️ |
71 | 浮点数等差数列 | range,float | V1.0 | ⭐️⭐️⭐️⭐️ |
72 | 按条件分组 | lambda | V1.0 | ⭐️⭐️⭐️⭐️ |
73 | map实现向量运算 | map,lambda | V1.0 | ⭐️⭐️⭐️ |
74 | 值最大的字典 | max,lambda | V1.0 | ⭐️⭐️⭐️⭐️ |
75 | 合并两个字典 | ** | V1.0 | ⭐️⭐️⭐️ |
76 | Topn 字典 | heapq,nlargest | V1.0 | ⭐️⭐️⭐️ |
77 | 判断是否为异位词 | collections,Counter | V1.0 | ⭐️⭐️⭐️ |
78 | 逻辑上合并字典 | ChainMap | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
79 | 带名字的元组 | namedtuple | V1.0 | ⭐️⭐️⭐️ |
80 | sample 样本抽样 | random,sample | V1.0 | ⭐️⭐️⭐️ |
81 | 重洗数据集 | shuffle | V1.0 | ⭐️⭐️⭐️ |
82 | 10个均匀分布的坐标点 | random,uniform | V1.0 | ⭐️⭐️⭐️ |
83 | 10个高斯分布的坐标点 | random,gauss | V1.0 | ⭐️⭐️⭐️⭐️ |
84 | chain串联小容器为大容器 | itertools,chain | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
85 | product 使用案例 | product | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
86 | 反转字符串的两个方法 | reversed | V1.0 | ⭐️⭐️ |
87 | join 串联字符串 | join | V1.0 | ⭐️⭐️ |
88 | 字符串字节长度 | encode | V1.0 | ⭐️⭐️ |
89 | 正则中字符 r 作用 |
re,r | V3.0 | ⭐️⭐️⭐️ |
90 | 正则原子操作 | re | V3.0 | ⭐️⭐️⭐️ |
91 | 正则中的转义 | re,\ | V3.0 | ⭐️⭐️⭐️ |
92 | 正则最普通查找 | re,findall | V3.0 | ⭐️⭐️⭐️ |
93 | 使用通用字符查找 | re,\s,\w,\d | V3.0 | ⭐️⭐️⭐️ |
94 | 使用元字符查找 | re,+,* | V3.0 | ⭐️⭐️⭐️ |
95 | 捕获子串 | () | V3.0 | ⭐️⭐️⭐️⭐️ |
96 | 贪心捕获和非贪心捕获 | re | V1.0 | ⭐️⭐️⭐️⭐️ |
97 | 使用正则做密码安全检查 | re | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
98 | 爬取百度首页标题 | re | V1.0 | ⭐️⭐️⭐️⭐️ |
99 | 批量转化为驼峰格式(Camel) | re | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
100 | 是否互为排序词 | collections,defaultdict | V1.0 | ⭐️⭐️⭐️⭐️ |
101 | str1是否由str2旋转而来 | str | V1.0 | ⭐️⭐️⭐️ |
102 | 使用正则判断是否为正浮点数 | str,re,float | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
103 | 获取文件后缀名 | os,splitext | V1.0 | ⭐️⭐️ |
104 | 获取路径中的文件名 | os,split | V1.0 | ⭐️⭐️ |
105 | 批量修改文件后缀 | argparse,listdir | V1.0 | ⭐️⭐️⭐️⭐️ |
106 | xls批量转换成xlsx | os,listdir,splitext | V1.0 | ⭐️⭐️⭐️⭐️ |
107 | 获取指定后缀名的文件 | os,listdir,splitext | V1.0 | ⭐️⭐️⭐️⭐️ |
108 | 批量压缩文件 | zipfile | V1.0 | ⭐️⭐️⭐️⭐️ |
109 | 32位加密 | hashlib | V1.0 | ⭐️⭐️⭐️⭐️ |
110 | 年的日历图 | calendar | V1.0 | ⭐️⭐️ |
111 | 判断是否为闰年 | calendar | V1.0 | ⭐️⭐️⭐️ |
112 | 判断月有几天 | calendar,datetime | V1.0 | ⭐️⭐️⭐️ |
113 | 月的第一天 | datetime | V1.0 | ⭐️⭐️ |
114 | 月的最后一天 | calendar,datetime | V1.0 | ⭐️⭐️ |
115 | 获取当前时间 | time,datetime | V1.0 | ⭐️⭐️ |
116 | 字符时间转时间 | time,datetime | V1.0 | ⭐️⭐️ |
117 | 时间转字符时间 | time,datetime | V1.0 | ⭐️⭐️ |
118 | 默认启动主线程 | threading | V1.0 | ⭐️⭐️ |
119 | 创建线程 | threading | V1.0 | ⭐️⭐️ |
120 | 交替获得CPU时间片 | threading | V1.0 | ⭐️⭐️⭐️ |
121 | 多线程抢夺同一个变量 | threading | V1.0 | ⭐️⭐️⭐️ |
122 | 多线程变量竞争引起的问题 | threading | V1.0 | ⭐️⭐️⭐️ |
123 | 多线程锁 | threading,lock | V1.0 | ⭐️⭐️⭐️ |
124 | 时间转数组及常用格式 | time,datetime,format | V1.0 | ⭐️⭐️⭐️ |
125 | 寻找第n次出现位置 | enumerator | V1.0 | ⭐️⭐️⭐️ |
126 | 斐波那契数列前n项 | yield,range | V1.0 | ⭐️⭐️⭐️ |
127 | 找出所有重复元素 | calendar,datetime | V1.0 | ⭐️⭐️⭐️⭐️ |
128 | 联合统计次数 | Counter | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
129 | groupby单字段分组 | itertools, groupby,lambda | V1.0 | ⭐️⭐️⭐️ |
130 | groupby多字段分组 | itemgetter,itertools,groupby | V1.0 | ⭐️⭐️⭐️⭐️ |
131 | itemgetter和key函数 | operator,itemgetter,itertools | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
132 | sum函数计算和聚合同时做 | sum,generator | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
133 | 获得某天后的1~n天 | Calendar,monthrange | V4.0 | ⭐️⭐️⭐️ |
134 | list分组(生成器版) | yield,generator | V1.0 | ⭐️⭐️⭐️ |
135 | 列表全展开(生成器版) | list,yield,generator | V1.0 | ⭐️⭐️⭐️ |
136 | 测试函数运行时间的装饰器 | decorator | V1.0 | ⭐️⭐️⭐️⭐️ |
137 | 统计异常次数装饰器 | decorator,nonlocal | V1.5 | ⭐️⭐️⭐️⭐️ |
138 | 通俗理解装饰器 | decorator | V1.0 | ⭐️⭐️⭐️ |
139 | 定制递减迭代器 | Iterator | V3.0 | ⭐️⭐️⭐️⭐️ |
140 | turtle绘制奥运五环图 | turtle | V1.0 | ⭐️⭐️⭐️ |
141 | turtle绘制漫天雪花 | turtle | V1.0 | ⭐️⭐️⭐️ |
142 | Python词云图 | WordCloud | V1.0 | ⭐️⭐️⭐ |
143 | Plotly柱状图和折线图 | plotly | V1.0 | ⭐️⭐ |
144 | seaborn热力图 | seaborn | V1.0 | ⭐️⭐ |
145 | Pyecharts仪表盘 | pyecharts | V1.0 | ⭐️⭐ |
146 | Pyecharts漏斗图 | pyecharts | V1.0 | ⭐️⭐ |
147 | Pyecharts水球图 | pyecharts | V1.0 | ⭐️⭐ |
148 | Pyecharts饼图 | pyecharts | V1.0 | ⭐️⭐ |
149 | Pyecharts极坐标图 | pyecharts | V1.0 | ⭐️⭐ |
150 | Pyecharts词云图 | pyecharts | V1.0 | ⭐️⭐ |
151 | Pyecharts热力图 | pyecharts | V1.0 | ⭐️⭐ |
152 | matplotlib绘制动图 | matplotlib | V1.0 | ⭐️⭐ |
153 | seaborn pairplot图 | seaborn | V1.0 | ⭐️⭐⭐⭐ |
154 | 含单个元素的元组 | tuple | V1.0 | ⭐️⭐ |
155 | 默认参数设为空 | function | V1.0 | ⭐️⭐⭐ |
156 | 共享变量未绑定之坑 | global | V1.0 | ⭐️⭐⭐ |
157 | lambda自由参数之坑 | lambda | V1.0 | ⭐️⭐⭐ |
158 | 各种参数使用之坑 | function paremeter | V1.0 | ⭐️⭐⭐ |
159 | 列表删除之坑 | list | V1.0 | ⭐️⭐ |
160 | 列表快速复制之坑 | list | V1.0 | ⭐️⭐⭐ |
161 | 字符串驻留 | str | V1.0 | ⭐️⭐⭐⭐⭐ |
162 | 相同值的不可变对象 | mutable | V1.0 | ⭐️⭐⭐ |
163 | 对象销毁顺序 | OOP del | V1.0 | ⭐️⭐⭐⭐ |
164 | 充分认识for | for | V1.0 | ⭐️⭐⭐ |
165 | 认识执行时机 | generator | V1.0 | ⭐️⭐⭐⭐⭐ |
166 | 创建空集合错误 | set | V1.0 | ⭐️⭐ |
167 | pyecharts传入Numpy数据绘图失败 | numpy pyecharts | V1.0 | ⭐️⭐⭐ |
168 | 优化代码异常输出包 | debugger | V1.0 | ⭐️⭐⭐ |
169 | 图像处理包pillow | pillow | V1.0 | ⭐️⭐⭐ |
170 | 一行代码找到编码 | chardet | V1.0 | ⭐️⭐⭐ |
171 | 子类继承父类的静态方法吗? | staticmethod | V1.0 | ⭐️⭐⭐ |
172 | NumPy 的pad填充方法 | NumPy pad | V1.0 | ⭐️⭐⭐⭐ |
173 | 创建下对角线为1、2、3、4的对角矩阵 | NumPy diag | V1.0 | ⭐️⭐⭐ |
174 | cut 数据分箱 | Pandas cut | v1.0 | ⭐️⭐⭐ |
175 | 丢弃空值和填充空值 | Pandas dropna fillna | v1.0 | ⭐️⭐⭐ |
176 | 一行代码让 pip 安装加速 100 倍 | pip install | v1.0 | ⭐️⭐⭐ |
177 | 数据分析神器:deepnote | deepnote | v1.0 | ⭐️⭐⭐ |
178 | apply 方法去掉特殊字符 | pandas apply | v1.0 | ⭐️⭐⭐ |
179 | 使用map对列做特征工程 | pandas map | v1.0 | ⭐️⭐⭐ |
180 | category列转数值 | pandas category | v1.0 | ⭐️⭐⭐ |
181 | rank排名 | pandas rank | v1.0 | ⭐️⭐⭐ |
182 | 完成数据下采样,调整步长由小时为天 | pandas resample | v1.0 | ⭐️⭐⭐ |
183 | 如何用 Pandas 快速生成时间序列数据 | pandas util | v1.0 | ⭐️⭐⭐ |
184 | 如何快速找出 DataFrame 所有列 null 值个数 | pandas isnull sum | v1.0 | ⭐️⭐⭐ |
185 | 重新排序 DataFrame 的列 | pandas dataframe | v1.0 | ⭐️⭐⭐ |
186 | 使用 count 统计词条 出现次数 | pandas count | v1.0 | ⭐️⭐⭐ |
187 | split 求时分(HH:mm)的分钟差 | pandas split | v1.0 | ⭐️⭐⭐ |
188 | melt透视数据小技巧 | pandas melt | v1.0 | ⭐️⭐⭐ |
189 | pivot 透视小技巧 | pandas melt | v1.0 | ⭐️⭐⭐ |
190 | p随机读取文件的K行,生成N个 | pandas sample | v1.0 | ⭐️⭐⭐ |
191 | 格式化Pandas的时间列 | pandas apply | v1.0 | ⭐️⭐⭐⭐ |
192 | 创建SQLite连接 | SQLite | v1.0 | ⭐️⭐⭐⭐ |
193 | json对象转python对象 | python json | v1.0 | ⭐️⭐⭐⭐ |
以上全文,欢迎继续阅读学习,阅读更多AI资讯,请点击这里