PythonPython

良心推荐!一个Python高手必读的库,真香!

2020-09-23  本文已影响0人  菜鸟学python
菜鸟进阶高手,需要内外的修炼,外练招式,内修心法。招式有很多比如基本的函数,类,文件,模块,到并发,数据库的使用,再到一些框架的使用无论是爬虫的西瓜皮框架,还是后端的Django,Flask等等。

内功心法有两重,其一最最重要的就是设计模式。有人说这个有啥用啊,如果你写几百一千行以内的小script确实不需要。但是如果你需要写的一个稍微大有点的项目,设计模式太太重要了,是你的必修之路。

01.一个不错的Python设计模式集合

菜鸟哥也是一个在进阶路上的修炼者,最近在GitHub上发现一个非常不错的Python项目,专门讲设计模式的实战的案例,很赞哦,赶紧来看一下。

这个repo收获了近25600颗星,还是很厉害的。是一个专门收集整理Python里面的设计模式技巧的库,值得一读。

记得小编在大学的时候读过一本非常经典的设计模式数据,里面有23种招式,这个库竟然收集了30多种设计模式和习惯用法,大概分下面几个类别:

创建型模式:


结构型模式:
行为型模式:

02.代码案例介绍
这么多模式,眼花缭乱,个个都是独孤九剑级别的精妙绝伦的剑法,我们挑选几种模式来看一下它的用法,吸收一波功力。

1).工厂模式:
工厂模式是最简单的一种设计模式,但是在生产环境中其实还经常用到的,记得大学的时候第一个设计模式就是它,念念不忘,必有回想。来看一下源码:

设计一个宠物的商店类PetShop,里面可以放猪啊,狗啊,猫啊,里面设计一个show_pet()函数来显示不同类别的宠物信息。

我们初始化设计3个类一个狗,一个猫,还有一个随机的动物类。这个类就是很简单的只有两个函数一个speak,一个__ str__就是打印类的信息。

设计一个main函数运行看一下:

> >
We have a lovely Cat
It says meow
We have a lovely Dog
It says woof
====================
We have a lovely Dog
It says woof
====================
We have a lovely Cat
It says meow
====================

2).代理模式
代理也是一种非常常见而且好理解的一种设计模式,好比码农A喜欢金融女B,但是不敢向其表白,所以委托张阿姨为代理,代他送礼物给女A,实现这个需求的重点是,男A和女A是不互相直接接触的,都是通过代理实现间接接触。我们来看一下这个设计模式的写法:

先设计一个抽奖的基类Subject,然后子类一个是分别继承它,一个是RealSubject,一个是Proxy,这两个就是具体干事情的函数。client是模拟一个客户的需要,分发这个工作。 看一下main函数的运行:

>>
Doing the job for admin is requested.
I am doing the job for admin
Doing the job for anonymous is requested.
I can do the job just for ' others '.
I am doing the job for admin
I am doing the job for anonymous

限于篇幅,小编没有一一完全开展所有的设计模式的代码,有志于提高自己功力的同学可以去看一下这个repo,里面的用法和招式需要反复的理解和推敲,这个库的代码量都不大,很好理解。

设计模式需要领悟里面的思想,然后运用在实际的工作中。光看没有用的,看百边道千边,不如动手敲一边。后面还会写一些有趣的设计模式趣味案例。

学编程一定要动手!!内功心法除了设计模式,还有一重是啥,猜猜看,欢迎留言区点评。

目前菜鸟学Python汇聚了30万Python爱好者,累计原创近400篇趣味干货(爬虫,数据分析,算法,面试指南,原创趣味实战,Python游戏,机器学习),欢迎一起学Python,交流指正。

上一篇下一篇

猜你喜欢

热点阅读