【问题标题】:Is chained method (method cascading) encouraged or discouraged by pep?pep 是鼓励还是不鼓励链式方法(方法级联)?
【发布时间】:2019-08-22 11:08:37
【问题描述】:

post 的启发,我假设 PEP8 不鼓励链式方法(方法级联)。

内置插件就是证明。

>>> x = list()
>>> x.append(1).append(2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'append'

但我没有通过搜索pep找到相关文档

有什么想法吗?

【问题讨论】:

  • 这无论如何都行不通,因为append 不会返回任何东西。它只是就地修改列表
  • 你的意思是 PEP 8?
  • (我知道的唯一可以链接的列表方法是.copy(),但它甚至没有链接到原始列表,而是它的副本)
  • 您链接到的帖子并未说明您声称的内容。它甚至没有提到 PEP。

标签: python pep


【解决方案1】:

PEP 8 让您自行决定如何最好地布局代码。贯穿始终的关键主题是您的代码应该清晰易读。 您提供的示例不起作用,因为 .append 不返回任何内容。

这是一个字符串示例:

x = "This"
x = x.strip().replace("T","t")
print (x)

以下布局可能更容易阅读:

x = "This"
x = (x
     .strip()
     .replace("T","t")
     )
print (x)

【讨论】:

    猜你喜欢
    • 2015-06-14
    • 2016-03-01
    • 1970-01-01
    • 2014-04-30
    • 2021-12-07
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 2019-12-19
    相关资源
    最近更新 更多