タプルを次のようにキューに入れると、なぜですか。
myqueue.put(('Thread Started'))
そして、私は次のように.get()を呼び出します。
item = myqueue.get()
print item
これを印刷します:
('T', 'h', 'r', 'e', 'a', 'd', ' ', 'S', 't', 'a', 'r', 't', 'e', 'd')
この動作の理由は何ですか?元のタプルを元に戻すにはどうすればよいですか?
タプルを次のようにキューに入れると、なぜですか。
myqueue.put(('Thread Started'))
そして、私は次のように.get()を呼び出します。
item = myqueue.get()
print item
これを印刷します:
('T', 'h', 'r', 'e', 'a', 'd', ' ', 'S', 't', 'a', 'r', 't', 'e', 'd')
この動作の理由は何ですか?元のタプルを元に戻すにはどうすればよいですか?
タプルはコンマで構成されます。
>>> (1,)
(1,)
ただし、これは「1」にすぎません。
>>> (1)
1
これはタプルではなく、括弧のペアの文字列です。これはタプルです:
myqueue.put(('Thread Started', ))
インスタンスの場合、記述されたコードmyqueue
は出力を生成しません。Queue.Queue
あなたのコードは以下と同等です:
myqueue.put('Thread Started')
item = myqueue.get()
print item
そして、それはちょうど生成する必要があります: Thread Started
.
タプルはコンマで作成されます:
t = 1,
# -> (1,)
t = 'a', 'b', 'c'
# -> ('a', 'b', 'c')
または、コンストラクターを明示的に呼び出すこともできます。
t = tuple("abc")
# -> ('a', 'b', 'c')
例外は、次のように作成された空のタプルです()
。
t = ()
# -> ()
t = tuple()
# -> ()