知行编程网知行编程网  2022-03-13 06:00 知行编程网 隐藏边栏 |   抢沙发  10 
文章评分 0 次,平均分 0.0

Python大神,requests库的作者出招了

本文内容摘录:https://github.com/kennethreitz/python-guide

题图from:https://www.kennethreitz.org/


只要是学爬虫的同学,相信无人不知的,无人不晓requests库!requests这个库号称为人类而写的http库("Python HTTP Requests for Humans"),非常好用,功能强大!


它的作者就是大名鼎鼎的Kenneth Reitz,这位大神非常牛逼,功力深厚还爱好摄影,对美学有自己的追求,能把这种美学的意境运用到代码上,非常厉害!


今天去逛他的github,发现他出了一本Python-guide书,赶紧去围观学习了一下受益匪浅!本书是号称Python best practices guidebook, written for Humans,目前有一万三千多的点赞量!


Python大神,requests库的作者出招了


这本书内容非常丰富,从win/linux/os的开发环境的安装,到开发工具推荐和设置,到如何写成优雅的代码,再到Python应用场景的指南比如(网络应用,web开发,命令行的应用,GUI的应用),数据库,系统管理,持续集成和数据库等等,下面我摘录了某一章节里面的部分片段:


Writing Great Python Code

这部分指南关注编写Python代码的最佳实践。

  • 结构化您的工程

    • 仓库的结构

    • 结构是一把钥匙

    • 模块

    • 面向对象编程

    • 装饰器

    • 上下文管理器

    • 动态类型

    • 可变和不可变类型

    • 提供依赖关系

    • Runners

    • 更多阅读

  • 代码风格

    • 一般概念

    • 习语(Idiom)

    • Python之禅

    • PEP 8

    • 约定


1.模块

Python模块是最主要的抽象层之一,并且很可能是最自然的一个,抽象层允许将代码分为 不同部分,每个部分包含相关的数据与功能:

  • 可以使用import语句的特殊形式from modu import * 模拟更标准的行为。

  • 但 import* 通常 被认为是不好的做法,但是使用 from modu import * 的代码较难阅读而且依赖独立性不足。

  • 使用 from modu import func 能精确定位您想导入的方法并将其放到全局命名空间中。 

  • 比 from modu import * 要好些,因为它明确地指明往全局命名空间中导入了什么方法。

Python大神,requests库的作者出招了


2.动态类型

Python是动态类型语言,这意味着变量并没有固定的类型。实际上,Python 中的变量和其他语言有很大的不同,特别是静态类型语言。


变量并不是计算机内存中被写入的某个值,它们只是指向内存的 ‘标签’ 或 ‘名称’ 。


因此可能存在这样的情况,变量 ‘a’ 先代表值1,然后变成字符串 ‘a string’ , 然后又变为指向一个函数:

Python大神,requests库的作者出招了


3.明确的代码

在存在各种黑魔法的Python中,我们提倡最明确和直接的编码方式:

Python大神,requests库的作者出招了


4.每行一个声明

复合语句(比如说列表推导)因其简洁和表达性受到推崇,但在同一行代码中写两条独立的语句是糟糕的:

Python大神,requests库的作者出招了


5.返回值

当一个函数变得复杂,在函数体中使用多返回值的语句并不少见。然而,为了保持函数的明确意图以及一个可持续的可读水平,更建议在函数体中避免使用返回多个有意义的值。


尽管如此,当一个函数在其正常过程中有多个主要出口点时,它会变得难以调试和返回其 结果,所以保持单个出口点可能会更好。


这也将有助于提取某些代码路径,而且多个出口点 很有可能意味着这里需要重构。


上面只是一些书里的很少的部分,大神的内容非常丰富而且全面,非常成体系!值得细细推敲和咀嚼,对提高Python的功劳大有裨益,还等什么,赶紧去围观吧.


链接:http://docs.python-guide.org/en/latest/


推荐阅读:

太好玩了!用Python写个弹球游戏2.0

Python武功如何快速进阶

2017年度电影榜单出炉

双十二来了,我爬取了淘宝上所有的羽绒服

南京楼市火吗|16000套二手房数据分析

5分钟带你了解Python2和3的区别|从此不再纠结


本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享