Python中的str.join()和str()。join()有什么区别?

时间:2017-09-18 03:44:51

标签: python-3.x

我是Python新手,我正在使用Python3,我正在尝试将列表项连接成一个字符串,我发现当我尝试str().join(lst)时,我成功地将列表项作为字符串获取但是当我这样做str.join(lst)我得到了:

  

TypeError:描述符'join'需要一个'str'对象但是收到了一个   '列表'

str和str()之间有什么不同?

2 个答案:

答案 0 :(得分:3)

str是一个班级。 str()调用该类的构造函数并返回该类的实例。

你通常想要这样的东西:

", ".join(...)

我认为str().join(...)相当于"".join(...),但后者对大多数Python开发人员来说更为清晰。

答案 1 :(得分:0)

join(list)str类的类方法。 str()正在构建一个str类的对象(空字符串对象),它也有join方法。

str().join(['abc', 'def'])将返回abcdef,它等同于''.join(['abc', 'def'])str()创建空字符串对象的内容。

类方法join也可用于生成相同的结果。
您可以使用str.join('', ['abc', 'def'])生成相同的输出。

总之,'string'.join([string list])相当于str.join('string', [string list])