网上有这样一个段子,在评论语言好坏的时候,都会有人评论说PHP是世界上最好的语言,人生苦短我用Python,这里姑且不去评论语言的好坏,每一个语言存在都有它的价值,譬如C语言适合底层开发,整个Linux操作系统几乎都是用C语言开发的,而像Go语言适合高并发的网络开发一样,并不是说像Go干不了其它事情,只是更适合某种应用场景。
谈到python之美,我认为这里有两个流派:python和pythonic。在我理解,Pythonic 就是很Python的Python代码,也就是用非常优美的python代码实现功能。举例说明:
我们要打开文件进行处理,在处理文件过程中可能会出错,但是,我们需要在处理文件出错的情况下,也顺利关闭文件。
传统风格的Python代码:
1 file= open(C:\data.txt')
2 try: for line infile:3 ......4 finally:5 file.close()
Pythonic的代码:
1 with open(c:\data.txt') as file:
2 for line infile:3 ......
通过with上下文管理,无需考虑资源释放问题以及异常情况下的资源释放问题,上下文管理器会帮你去处理。
再举一个例子:
字符串链接
1 names = ['1', '2', '3', '4', '5', '6', '7', &#