fw:学好Python必读的几篇文章
作为脚本语言Python上手容易,但要学好Python能写出一手漂亮的、Pythonic的Python代码并非一日之功,本文的目的在于推荐一些优秀的Python相关的文章(至于书大家可以看dip、learning python和官方手册去),让你在成长为一名Python高手的路上少走一点弯路。注:文章都是英文的,学好Python读懂英文资料这是必须的了。
1. PEP8 Style Guide for Python Code
排第一的当属Python的编码规范PEP8,这个就不用我多说吧,无论是初学还是高手PEP8都是必须烂熟于胸的。在遵循里面讲述的规则的同时,大家也要记住两句比较特殊的话,不过这两句话千万别滥用了:)
Two good reasons to break a particular rule: (1) When applying the rule would make the code less readable, even for
someone who is used to reading code that follows the rules. (2) To be consistent with surrounding code that also breaks it (maybe for
historic reasons) -- although this is also an opportunity to clean up
someone else's mess (in true XP style).
如果要写Python的C扩展库,你还必须好好学习下PEP7。
2. Code Like a Pythonista: Idiomatic Python
文如其名,本文篇幅较长,但非常非常实用。本文介绍了一系列Python约定俗成的用法和技巧,学习本文能让你写出来的Python代码马上上一个档次,让你成为一个真正的Pythoneer。
3. PEP318 Decorators for Functions and Methods
在Python的世界里decorator是非常常见的,常见的比如auth、cache都会提供decorator,decorator所实现的功能就是修改紧接 decorator之后定义的函数和方法,你可以根据自己的需要给一个已有的函数和方法添油加醋。
4. Python regular expression documentation
掌握正则表达式是编程人员的必备技能,这是re模块的官方文档,用到正则表达式的时候要常来翻翻。Python的正则表达式跟别的语言函数用法有点 不一样,因此也有人抱怨说Python的re模块不好用,文章开头关于正则表达式规则部分可以当正则表达式的入门教材,如果你还不知道正则表达式是个什么 东西的话。个人觉得Python的re模块非常强大的,举个有点意思的例子,比如VERBOSE的正则表达式还支持在正则表达式中间加注释说明正则表达式 的具体含义,因为正则表达式通常都象天书一样比较难懂,因此这个功能显得非常有用。
a = re.compile(r"""\d + # the integral part
\. # the decimal point
\d * # some fractional digits""", re.X)
5. PEP333 Python Web Server Gateway Interface v1.0
如果你要用Python来做Web相关的开发(对大多说人来说主要就是指Web运用)WSGI是必读的,WSGI是Python web server、application、middleware之间的官方规范标准,现在主流的Python web server和framework都肯定支持WSGI的。只有了解了WSGI你才能更好的理解Python的web framework的工作机制、middleware为啥可以串联起来、web server是怎么跟web application交互的。WSGI有两个为人诟病的地方,一是不支持异步,Tornado是一个异步的Web server,但是若要在上面运行WSGI的framework如Django,则Tornado的异步特性完全用不上;二是WSGI v1.0不支持Python3.x,为了支持Python3.x,有两篇还在Draft状态的PEP文档PEP3333和PEP444可供参考。
6. How To Use Linux epoll with Python
更深入一点,如果你要做服务器端的编程的话,此文可以让你深入理解Python的同步、异步socket编程模式。假如你觉得Tornado的源码比较费解的话,读读这篇文章对你会很有大的帮助。
7.另外还有一些比较重要的文档,这里不做详解,有兴趣的同学可以去看看:
fw:学好Python必读的几篇文章的更多相关文章
- Python——学好Python必读的几篇文章
作为脚本语言Python上手容易,但要学好Python能写出一手漂亮的.Pythonic的Python代码并非一日之功,本文的目的在于推荐 一些优秀的Python相关的文章(至于书大家可以看dip.l ...
- 人脸识别必读的N篇文章
一,人脸检测/跟踪 人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置和大小:对于跟踪而言,还需要确定帧间不同人脸间的对应关系. 1, Robust Real-time Object Dete ...
- 转发:python 装饰器--这篇文章讲的通俗易懂
转 http://www.cnblogs.com/wupeiqi/articles/4980620.html 1.必备 #### 第一波 #### def foo(): print 'foo' ...
- 你真的了解Python吗?这篇文章可以让你了解90%
人们为什么使用Python? 之所以选择Python的主要因素有以下几个方面: 软件质量:在很大程度上,Python更注重可读性.一致性和软件质量,从而与脚本语言世界中的其他工具区别开发.此外,Pyt ...
- 理解Python中的装饰器//这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档
转自:http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html 这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档 ...
- 用 Python 分析咪蒙1013篇文章,她凭什么会火?
咪蒙 文学硕士,驾驭文字能力极强.并且是一个拥有一千多万粉丝,每篇文章阅读量都 100W+,头条发个软文都能赚 80 万,永远都能抓住粉丝G点的那个女人. 1月份因为某篇文章,在网络上被一大批网友 ...
- python中的面向对象学习以及类的封装(这篇文章初学者一定要好好看)
这篇文章对于初学者可以很有效的理解面对过程.面对对象 一.首先介绍一下面向过程和面向对象的比较: 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何 ...
- Python正则表达式,看完这篇文章就够了...#华为云·寻找黑马程序员#【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- Python RPC 不会?不妨看看这篇文章
1. 前言 大家好,我是安果! RPC,全程为 Remote Procedure Call,是一种进程间的通信方式,它采用「 服务端 / 客户机 」模式,是一种请求响应模型 其中,服务端负责提供服务程 ...
随机推荐
- 剑指offer系列54---数组中出现次数超过一半的数
[题目]数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. * 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}. * 由于数字2在数组中出现了5次,超过数组长度的一半,因 ...
- (转)C# 使用BackgroundWorker
本文转载自:http://blog.csdn.net/andrew_wx/article/details/6615077 该例子为使用BackgroundWorker在TextBox文本中产生一个10 ...
- liveusb-creator
liveusb-creator The liveusb-creator is a cross-platform tool for easily installing live operating sy ...
- LVM---动态调整磁盘容量
LVM:logical volume manager(逻辑卷管理):LVM屏蔽了底层磁盘布局,方便于动态调整磁盘容量. 一.创建逻辑卷的步骤: 1)通过fdisk 工具将磁盘转换为linux分区 2) ...
- 虚拟研讨会:如何设计好的RESTful API?
http://www.infoq.com/cn/articles/how-to-design-a-good-restful-api/ REST架构风格最初由Roy T. Fielding(HTTP/1 ...
- 启动Memcache,出现memcached: error while loading shared libraries: libevent-1.4.so.1: cannot open shared
1.有可能是装了多个 libevent而导致memcache无法识别哪一个,解决方法就是卸载掉一个libevent 2.只安装了一个libevent,但是也报这个错,解决方法 32位系统下:ln ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- LinkedHashMap的实现原理(复习)
1. LinkedHashMap概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序.此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映 ...
- PLSQL_性能优化系列15_Oracle Explain Plan解析计划解读
2014-12-19 Created By BaoXinjian
- 安装完CentOS 7 后必做的七件事[转]
CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事 ...