我第一次开始上手学习python编程,是使用安装python时自带的IDEL,这是一个python shell工具。对于初学者很好用(如下图)
不过当我们试图构建一个比较负责的python项目时,可能涉及多个文件夹,package, 以及一些测试代码,这时候,一个具备项目代码管理的工具就显得很必要。PyCharm是我目前使用的工具,很好用,提供了项目管理的几乎所有功能。大家可以从 Jetbrains的官网下载,对于学生,可以下载Educational Edition, 是免费的,license一年renew一次即可。PyCharm还有一个专业版,与免费版本的主要差别在于提供了Cython, Flask, Pyramid之类的额外支持,对于希望使用Python进行专业web开发的,可以考虑使用专业版。另外,PyCharm的IDE核心与Jetbrains的其他IDE产品一致,所以可以提供很多高效的编程支持,这里就不多说了。
接下来开始说点关于今天要说的话题,编码风格。这看似是一个见仁见智的问题,也许跟每个人的审美情趣有很大关系。但不管如何变幻,代码总体应该具备较好的可读性(整齐、有注释,较少的冗余)。为此,人们不厌其烦地整理出编码规范。Guido van Rossum(这个名字大家一定不陌生,python之父)等人为python编码提供了一成套规范。这个规范叫 Python Enhancement Proposals - Style Guide for Python Code (简称PEP-8)。对PEP-8具体内容感兴趣的可以在线阅读PEP-8全文:全文阅读。这个规范的初衷是鼓励大家使用同样的编码规范来contribute自己的package到社区,不过我觉得即便不是为社区维护代码,这样的规范也对我们建立良好的编码习惯不无裨益。不过PEP-8中的条款实在是很琐碎,通过练习我们能掌握大多数,但很多方面可能还是不会注意到。为了方便自动化监测编码风格是否遵循PEP-8,几位python社区的活跃贡献者提供了一个PEP-8的自动检查工具pep8(https://pypi.python.org/pypi/pep8)。这个工具不仅可以自动检测编码风格,而且提供了相应的提示代码(比如, E开头的是错误,W开头的是警告)。例如下图的例子:
回过头来再来说PyCharm,PyCharm的Inspections功能提供了对PEP-8的集成,让我们可以在项目中就对整个项目的代码进行编码风格检查,不仅如此,它还包括如语法检查,以及可测试检查等。要对代码进行检查只要在菜单点击Code->Inspect Code即可。我们也可以通过File->Settings->Editor->Inspections->Python来编辑检查项,以及显示检查结果提示的风格。对于上面同样的代码,在PyCharm中检查,即可获得更详细的检查结果以及对应的更正对策(右下窗口)。
好吧,就到这里。美好的一天从优雅的编码开始。