Young87

当前位置:首页 >个人收藏

GitHub标星3.9K!223个Python小例子,一次让你吃个够!

大家好,我是程序员G哥,都说拳不离手,曲不离口,学习编程其实就跟练武一样,每个小白成长为大侠都需要经过不断的磨练,打怪升级,不断的增长经验值。而GitHub就是一个大的宝库,里面有各种武林秘籍,让你吸取能量!

今天G哥在逛GitHub的时候,发现了一份非常不错的学习Python的资源一共有223个小例子,每个60秒就能看完,一口一个,短小精悍,非常适合学习修炼。

作者Jack非常厉害,整理了一共有8个章节,每个章节都有大小,数量不等的小巧的例子,从Python基础知识,字符串,正则,到进阶的生成器,迭代器,难懂的装饰器,常见的文件处理,正则使用,到算法的入门,一应俱全。目前已经收获了3900颗星,我们一起来看一下。

元素都为真

接受一个可迭代对象,如果可迭代对象的所有元素都为真,那么返回 True,否则返回False

3 元素至少一个为真 

接受一个可迭代对象,如果可迭代对象里至少有一个元素为真,那么返回True,否则返回False

ascii展示对象

调用对象的 _repr_ 方法,获得该方法的返回值,如下例子返回值为字符串

转为字典 

创建数据字典

枚举对象

返回一个可以枚举的对象,该对象的next()方法将返回一个元组。

过滤器

在函数中设定过滤条件,迭代元素,保留返回值为True的元素:

动态获取对象属性

获取对象的属性

上面的都是一些简单的招式,我们再来看一些进阶的总结的不错的招式,看完之后一定让你功力大涨!

创建属性的两种方式

返回 property 属性,典型的用法:

使用python装饰器,实现与上完全一样的效果代码:

聚合迭代器

创建一个聚合了来自每个可迭代对象中的元素的迭代器:

nonlocal用于内嵌函数中

关键词nonlocal常用于函数嵌套中,声明变量i为非局部变量;如果不声明,i+=1表明i为函数wrapper内的局部变量,因为在i+=1引用(reference)时,i未被声明,所以会报unreferenced variable的错误。

不用else和if实现计算器

这种设计思路非常巧妙,在实际的生产环境中经常会用到,非常简洁,跟代码大全里面的表查询有异曲同工之妙。

全展开,如何把这样的嵌套数组展开

例如[[[1,2,3],[4,5]]],这个题目其实也是我曾经面试的一个题目

如何完全展开成一维的。这个小例子实现的flatten是递归版,两个参数分别表示带展开的数组,输出数组。

groupby单字段分组

天气记录:

a = [{'date': '2019-12-15', 'weather': 'cloud'},
 {'date': '2019-12-13', 'weather': 'sunny'},
 {'date': '2019-12-14', 'weather': 'cloud'}]

按照天气字段weather分组汇总:

输出结果:

cloud
{'date': '2019-12-15', 'weather': 'cloud'}
{'date': '2019-12-14', 'weather': 'cloud'}
sunny
{'date': '2019-12-13', 'weather': 'sunny'}

itemgetter和key函数

注意到sortgroupby所用的key函数,除了lambda写法外,还有一种简写,就是使用itemgetter

结果:

cloud
{'date': '2019-12-15', 'weather': 'cloud'}
{'date': '2019-12-14', 'weather': 'cloud'}
sunny
{'date': '2019-12-13', 'weather': 'sunny'}

统计异常出现次数和时间的装饰器

写一个装饰器,统计某个异常重复出现指定次数时,经历的时长。

 xls批量转换成xlsx

上面的Python技巧真的是令人眼花缭乱,让我学习兴趣大涨!看完之后,赶紧动手撸一遍。光看是没有用的,一定要把这些招式敲一边,然后动手运行一下,调试一些,加深印象。

理解了消化了,才会吸引为自己的,功力才能大涨。也不枉小编熬夜编写,逛了好久才找到的这份宝典。

其实Python是入门容易精通难,啥也不说了,赶紧练吧!如果对你有用,留言区吱一声。


更多的短小精悍的小例子,查看链接:

https://github.com/jackzhenguo/python-small-examples

近期热门:墙裂推荐!B站上的Python学习资源
只要三步,带你用Python换脸趣味!用Python竟然还能做一个文字套娃只要三步,带你用Python换脸一行Python代码写的游戏,我能这样玩一天!让你纵横 GitHub 的五大神器

程序员GitHub

由菜鸟学Python原班人马打造的公众号【程序员GitHub】开始啦!

专注于分享GitHub上有趣的资源包括

Python,Java,Go语言

前端学习等优质的学习资源

分享程序员圈的新鲜趣事,热门干货,职场感悟

点的“在看”,否则就看不到我了555

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: TCP 全连接队列满了会发生什么?又该如何应对?

下一篇: Java使用OpenOffice实现文件转换为PDF文件(三)

精华推荐