如何在 Python 中使用 ' '.join()?

How use ' '.join() in Python?

我正在研究 PEP8 的 Programming Recommendations

推荐使用''.join来组合字符串,但是没看懂什么时候用:

  1. 我应该每次都这样连接吗?
  2. 这有什么用?
  3. 什么时候用join()转String比较合适?在路径中,URL,文本?

在[PEP 484]中(https://www.python.org/dev/peps/pep-0484/ 这应该是 return ' '.join('Hello', name) 吗?

假设您有四个字符串:abcd.

假设您想要它们的串联,e = a + b + c + d。但是,+ 运算符仅为两个操作数定义,因此您显然需要一个接一个地连接各个字符串。

最简单的计算方法可能如下:

e = ((a + b) + c) + d

但这是低效的,因为它会生成两个一次性字符串:a + ba + b + c.

现在,假设我们创建了一个 buffer-like 对象,其中包含我们想要组合的所有字符:

e_buffer = [a, b, c, d]

我们可以一次性从这个创建e,避免创建许多中间字符串。

这需要一个函数,在Python中,我们调用join;它是 str 的一种方法,并在提供的参数之间散布该字符串。因此,当您执行 some_separator.join([a, b, c]) 时,实际上会得到 a + some_separator + b + some_separator + c.

回答你的问题:一般来说,当连接很多字符串时,使用join应该会更快,而且至少会更易读,尤其是在使用分隔符的时候。对于问题中给出的情况,我会改用 f-string:

def greeting(name: str) -> str:
    return f'Hello {name}'