2つの変数を持っているid
同じ:Senderle this linkに応じ2つの変数は、同じIDを持っていますが、ないPythonでリストやタプル
a = [1, 2, 3]
b = [1, 2, 3]
a is b
>>> False
:私は2 list
秒を取る場合
a = 10
b = 10
a is b
>>> True
不変のオブジェクト参照が同じIDを持ち、リストのように異なるIDを持つような可変オブジェクトがあると答えました。タプルは変更可能ではないよう
a = (1, 2, 3)
b = (1, 2, 3)
a is b
>>> False
理想的には、それはTrue
を返す必要がありますが、それはFalse
を返している:意味 -
は、だから今彼の答えによると、タプルは、同じIDを持っている必要があります!
説明は何ですか?
あなたは、変数やオブジェクト(リストやタプル)を区別する必要があります。 – dmitryro
あなたはあなたがリンクしている答えを誤解していると思います。固有の不変オブジェクトは異なるIDを持ちます。しかし整数が<256(ほとんどのインタプリタで)の場合、値はメモリにあらかじめロードされているので、最初の例ではaはbです –
ありがとう@JacquesGaudin!今私のためにいくつかの理解をしています。 –