繁体   English   中英

在Python中同时使用字符串和线程中的join()

[英]Using join() from both string and threading at the same time in Python

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

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

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

编辑

最初,我没有导入str.join()。 但是由于出现类型错误,我认为我应该重命名join()。 但是后来,我意识到我将错误的内容传递给了str.join(),这是我遇到类型错误的真正原因。 我的错!

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

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

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

对于threading.Thread.join()也是如此,您应该创建Thread类的实例,并在该实例上使用join()方法。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM