我最近写了一个看起来相当丑陋的单行代码,想知道将它分成多行是更好的 python 风格,还是将其保留为带注释的单行代码。我查看了 PEP 8,但它没有提及任何内容
这是我写的代码:
def getlink(url):
return(urllib.urlopen(url).readlines()[425].split('"')[7])
# Fetch the page at "url", read the 426th line, split it along
# quotes, and return the 8th quote delimited section
但这样的风格会更好吗?
def getlink(url):
url_file = urllib.urlopen(url)
url_data = url_file.readlines()
line = url_data[425]
line = line.split('"')
return line[7]
或者介于两者之间?
最佳答案
我的投票将基于可读性。我发现您的单行示例比多行示例更易于消化。
只要适合一个满眼,单行线就很棒,并且它们共同执行一项不同的任务。
就我个人而言,我会这样写:
def getlink(url):
content = urllib.urlopen(url).readlines()
return content[425].split('"')[7]
(现在,冒险进入反对票领域...)
您的评论 block 对于不熟悉 Python 的人来说很棒,但可以说,它们增加了要消化的信息,从而降低了可读性。阅读代码的 pythonista 会很快理解你的代码,然后可能会继续阅读注释,以防万一有警告或边缘情况需要警告。
我并不是说注释是邪恶的,只是冗长的注释会对可读性产生负面影响。例如。经典:x+=1 # x 增加 1
当然,这取决于代码的目的和受众。
关于python - 复杂单行的最佳 python 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7158141/