Python 符合PEP8的方式,将[';项';][';项';]查找链接换行

Python 符合PEP8的方式,将[';项';][';项';]查找链接换行,python,pep8,Python,Pep8,E501:行太长(88>79个字符) 我失败的尝试: if true: if true: if true: record = self.content['data']['country_name'] \ ['city_name']['postal_address'] 这给出了一个错误:E211“[”行:4,列:58”之前的空格 我用的是:它并不漂亮,但是如果你只是想要一些能让自动样

E501:行太长(88>79个字符)

我失败的尝试:

if true:
    if true:
        if true:
            record = self.content['data']['country_name'] \
                                 ['city_name']['postal_address']
这给出了一个错误:E211“[”行:4,列:58”之前的空格


我用的是:

它并不漂亮,但是如果你只是想要一些能让自动样式检查器满意的东西

if true:
    if true:
        if true:
            record = self.content['data']['country_name'
                                          ]['city_name']['postal_address']

这并不漂亮,但如果你只是想要一些让自动样式检查器满意的东西

if true:
    if true:
        if true:
            record = self.content['data']['country_name'
                                          ]['city_name']['postal_address']

有几种方法,一种可能(我更喜欢)就是添加中间变量(带有一些有意义的名称)

另外,三个嵌套的
if
s可能是一些重构的很好候选,可能带有一些辅助函数,这也会减少行长度

还有另一种选择:使用括号(PEP8也建议使用反斜杠)


有几种方法,一种可能(我更喜欢)就是添加中间变量(带有一些有意义的名称)

另外,三个嵌套的
if
s可能是一些重构的很好候选,可能带有一些辅助函数,这也会减少行长度

还有另一种选择:使用括号(PEP8也建议使用反斜杠)


首先,考虑两个<代码>如果子句可以与<代码>和< /代码>运算符合并。

但是,假设每个
if
子句具有不同的条件,则可以将其放置在一个方法中,在该方法中可以添加一个或多个将提前退出的保护子句:

def get_content(content):
    if not True:
        return

    if not True:
        return

    if not True:
        return

    return content['data']['country_name']['city_name']['postal_address']


record = get_content(content)

您也可以考虑创建中间变量,这可能有助于使其更加可读和更短。

< P>首先,考虑两个<代码>如果子句可以与<代码>和运算符合并。

但是,假设每个
if
子句具有不同的条件,则可以将其放置在一个方法中,在该方法中可以添加一个或多个将提前退出的保护子句:

def get_content(content):
    if not True:
        return

    if not True:
        return

    if not True:
        return

    return content['data']['country_name']['city_name']['postal_address']


record = get_content(content)

你也可以考虑创建中间变量,这可能有助于使它变得更可读和更短。

工作得很好!但是,我同意它看起来很糟糕:-----工作得很好!但是,我认为它看起来很糟糕:- BTW,标题编辑是试图使标题更独立的地方——标题使用“这个”的地方。参考问题内容,例如某人需要点击了解“this”是什么,然后才能判断他们是否有答案(或者是否有相同的问题),这有点像clickbait。感谢编辑,听起来更好。顺便说一句,标题编辑是为了使标题更加独立——标题使用“this”的地方参考问题内容,这样某人需要点击了解“这”是什么,然后才能知道他们是否有答案(或者他们是否有相同的问题),有点像clickbait。感谢您的编辑,听起来更好。这让我想起了文章中给出的非常好的建议。我看到学生级代码嵌套了5到10级的
if
子句。这是一段令人惊叹的C代码,但后来发现它有一个bug,并且证明它很难调试。此外,我还看到了n阅读了大量的
if a!=B“和其他
if子句`在一起,有时嵌套得很深。但是自从我第一次听说“guard子句”这个术语以来",向其他人解释为什么提前退出并恢复一些缩进级别和代码清晰度通常是一个好主意变得容易多了。这让我想起了文章中给出的非常好的建议。我看到学生级代码嵌套了5到10个级别的
if
子句。这是一段了不起的C代码,但结果发现它有一个bug,并且调试起来非常困难。另外,我已经阅读了很多
if a!=B”以及其他
if子句`内部,有时嵌套得很深。但是自从我第一次听说“guard子句”这个术语以来“,向其他人解释为什么提前退出并恢复一些缩进级别和代码清晰度通常是个好主意变得容易多了。嘿,何塞!我喜欢第二个选项…非常整洁!感谢我的荣幸!:)嘿,何塞!我喜欢第二个选项…非常整洁!感谢我的荣幸!:)
def get_content(content):
    if not True:
        return

    if not True:
        return

    if not True:
        return

    return content['data']['country_name']['city_name']['postal_address']


record = get_content(content)