加入列表和拆分字符串

时间:2015-11-24 12:27:09

标签: python oop language-design

我之前有过使用C ++的经验,刚刚开始使用Python。我从Dive into Python

中读到了这段文字

enter image description here

根据我的经验,一般的想法是,如果你想对对象执行操作,你可以在该对象上调用一个方法来执行它。

EG。如果我有一个列表对象,并且我想得到所有元素的总和,我会做类似的事情:

listObject.getSumOfAllElements()

但是,上面的书中摘录的内容对我来说有点奇怪。对我来说,这会更有意义:

return (["%s=%s" % (k, v) for k, v in params.items()]).join(";")

即。将所有列表元素作为字符串连接,并在此处使用此参数';'作为分隔符。

这是设计差异还是只是语法上与我的想法有点不同?

编辑:

为了完成,这本书稍后说了一遍:

enter image description here

1 个答案:

答案 0 :(得分:5)

  

这是设计差异还是只是语法上与我的想法有点不同?

是的,我认为这是设计上的。 join函数是有意通用的,因此它可以与任何可迭代(包括迭代器对象和生成器)一起使用。这样可以避免分别为joinlisttuple等实施set