python - 复杂单行的最佳 python 样式

标签 python coding-style

我最近写了一个看起来相当丑陋的单行代码,想知道将它分成多行是更好的 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/

相关文章:

c# - Resharper 正确吗?

php - 在 WooCommerce 中添加自定义库存状态

python - 获取单行代码执行时间的最佳方法是什么?

coding-style - 在 REDIS 中引用其他对象的首选样式

Python 执行和 __name__

python - 检查文件是否以任何文件类型打开

django - 检查 Django 中的请求类型

java - 将常量放在类中的位置 : standards and best practice

python - Python中通过正则表达式提取字符串的一部分

python - 为什么 Python 选择使用 None 而不是 null?