簡體   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