良心推荐!一个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,里面的用法和招式需要反复的理解和推敲,这个库的代码量都不大,很好理解。

 

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

 

©️2020 CSDN 皮肤主题: 点我我会动 设计师:上身试试 返回首页