0

在我的一个脚本中,我使用了 python 的字符串和线程中的 join() 方法。我尝试使用import ... as重命名模块名称,如下所示:

import str.join as sjoin
import threading.Thread.join as tjoin

但我总是无法正确导入字符串连接。我检查了官方文档,两个join()类路径都应该是正确的。我应该怎么做才能同时使用这两个连接?

编辑

最初我没有导入 str.join()。但由于我收到类型错误,我想我应该重命名 join()。但是后来,我意识到我将错误的东西传递给了 str.join(),这就是我得到类型错误的真正原因。我的错!

4

2 回答 2

2

str.join()是一种方法,用于字符串的实例,例如:

>>> ", ".join([1, 2, 3])
1, 2, 3

无需导入任何东西。我在这里使用字符串文字作为示例,但是当然,可以使用任何字符串。这就是将可迭代对象(传递给方法)中的字符串连接在一起的“胶水”。

这也是正确的threading.Thread.join()- 您应该创建一个Thread类的实例并在该实例上使用该join()方法。

请注意,由于 Python 的工作方式,您可以直接从类中访问这些方法,然后将实例作为第一个参数传递,但是,这通常是一个非常糟糕的主意,因为它比正常调用它们更难阅读且更费力.

于 2013-01-08T17:33:54.140 回答
-1

str 是内置的,而不是模块,因此您无法从中导入。但是,您可以这样做:

sjoin = str.join
import threading.Thread.join as tjoin
于 2013-01-08T17:35:42.753 回答