有一条编程规则,是我做了多年的程序员完全没有学习到的,直到最近才发现,那就是,让自己的每行代码不要超过80个字符。按照python pep-0008的说明,代码行最多79个字符。(注释和docstring行,最多72个字符)
为什么要有这样保守的规定?
这样带来一些好处,有一群古老的程序员,喜欢优雅的代码布局;在现在大屏幕的时代,可以在一个屏幕上同时打开多个源代码文件查阅;当然,有人会说,现在的很多编辑器都有自动换行的功能,是的,不过,自动换行会破坏code lay-out的美感,在某些代码比对的工具里面,也会呈现不利于阅读的效果。代码最重要的是给别人阅读的。
在Python中,遇到长字符串,如何优雅的换行:
>>> str1 = 'abcde'\
... 'fghijk'\
... 'ooppo'
>>> str1
'abcdefghijkooppo'
>>>
>>> str2 = 'a'\
... + 'b'\
... + 'c'
>>> str2
'abc'
有没有“+”号,都是一样的效果。
def __init__(self, initial_link):
self.aLink = []
self.aLink.append(Link(initial_link))
# initial_link must be a front page link
self.working_domain = initial_link
self.aLinkIndex = 0
self.UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64) '\
'AppleWebKit/537.36 (KHTML, like Gecko) '\
'Chrome/45.0.2454.101 Safari/537.36'
不用编辑器的自动换行,看着是不是要优美一些。
Python官方的教程里面,还给了另外一种写法,使用圆括号,如下:
>>> text = ('Put several strings within parentheses '
... 'to have them joined together.')
>>> text
'Put several strings within parentheses to have them joined together.'
使用backslash和()都可以实现Python长字符串的换行。
敲到好处的换行,确实可以给代码带来视觉上的美感,关于环境,本站还有一篇文章:Python的换行语法