python主要应用领悟_良心推荐!一个Python高手必读的库,真香!

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

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

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

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

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

b97d9d6095d74a4f8cf2a0fb20d93598.png

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

47b5d06ef44d4766be29f09d99265590.png

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

创建型模式

2522a29a908442baab47ec1058b9c0d7.png

结构型模式:

65752092793a4bb8bfac880307b356bb.png

行为型模式:

0b32b7aca5924d4fa7d2f3246d6af3cb.png

02.代码案例介绍

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

1).工厂模式:

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

7089cb2f34d64250b1c9503f3e8efcd9.png

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

edc27447ff244a028fd84eff8d4a8466.png

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

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

daf8cb624f924d88903fa2608398dde1.png

>>

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是不互相直接接触的,都是通过代理实现间接接触。我们来看一下这个设计模式的写法:

e141ee7a4ab8478dadeff75002e4da31.png

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

看一下main函数的运行:

733d6536170a4384a11e22bcb759baeb.png

>>

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

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

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

repo:https://github.com/dabeaz-course/practical-python返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值