人生苦短,我用Python。
Python诞生与1991年,是一门古老的程序设计语言,它的应用极为广泛,在系统管理、科学计算、Web应用程序、嵌入式、机器学习等领域都能看到它的踪迹。而Python3.0发布于2008年,3.0新功能中最引人注目的是对Unicode编码的支持,将 str/unicode 进行了整合,并明确的提供了另一个bytes类型,解决了处理字符编码的问题。然而,其他语法与链接库方面的变更也破坏了向后兼容性,导致许多 Python2.x 的程序无法直接在3.0的环境中运行,Python2.x将在2020年停止支持,所以我们要与时俱进,将重心转移到Python3中来。
对程序设计语言而言,破坏向后兼容性是一条危险的路,许多程序设计语言在小心翼翼的推出新版的同时,兼顾向后兼容代价往往就是语言越来越臃肿,有时想要吸收一些在其它程序设计语言中看似不错的特性,又为了保证向后兼容,结果总是会将这些特性做一些畸形的调整。特性越来越多,就会使得在处理一件任务时,错误与正确的做法越来越多,且并存与语言之中。
如果想在 Python2 中使用3.0的一些特性,可以试着通过 from future import 来使用想用的模块,例如最基本的print()函数:
from __future__ import print_function
print("hello world")
这样就可以以兼容方式来编写输出语句。
可以在Python的官网 www.python.org 下载安装Python,Mac和Linux系统自带了Python。Windows环境下安装的时候记得勾选 Add Python to PATH ,这样就不用再去手工配置环境变量。
安装完毕后,在cmd(Windows命令提示符)或终端中输入python回车,边可进入 Python 的 REPL(Read-Eval-Print Loop交互编程) 环境,也就是命令行界面。
然后输入:
import this
就会打印出The Zen of Python(Python之禅):
Python之禅 by Tim Peters
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
翻译参考:http://blog.csdn.net/gzlaiyonghao/article/details/2151918