加入列表和拆分字符串

Ami*_*mar 2 python oop language-design

我以前有一些C++的经验,刚刚开始使用Python.我从Dive到Python读了这篇文章:

在此输入图像描述

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

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

listObject.getSumOfAllElements()
Run Code Online (Sandbox Code Playgroud)

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

return (["%s=%s" % (k, v) for k, v in params.items()]).join(";")
Run Code Online (Sandbox Code Playgroud)

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

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


编辑:

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

在此输入图像描述

the*_*eye 5

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

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