soruma oldukça benzerdir this ve this, okuduktan sonra, hala şu davranışları anlayamıyorum: Görebildiğim id(a)
ve id(b)
basarkenPython3 çoklu atama ve bellek adresi
a = 257
b = 257
print(a is b) #False
a, b = 257, 257
print(a is b) #True
değişkenler olduğunu,
a = 257
b = 257
print(id(a)) #139828809414512
print(id(b)) #139828809414224
a, b = 257, 257
print(id(a)) #139828809414416
print(id(b)) #139828809414416
Ama bu imkansız: hangi değerleri çoklu atama ile her iki değer aynı kimliğe sahip ise, ayrı satırlarda farklı kimlikleri var ayrıldı değişkenler aynı id
değil olsun açıklıyor net bir kural mı var
a, b = -1000, -1000
print(id(a)) #139828809414448
print(id(b)) #139828809414288
: Aynı değerlerin birden atama hep yana aynı id işaretçileri oluşturur söyleyerek bu davranışı açıklamak için?
düzenlemek
ilgili bilgi: (ipython3)
Kontrol dışarı '[için id (i) i (1000,1000,1000,1000)]' –
Not :-): bu konularda çünkü hiçbir zaman davranış tutarsız. İki 257'nin aynı nesne olup olmadığına bakmak için herhangi bir sebep olsaydı, basit ve mantıklı bir model olurdu. – user2357112
gözetleme deliği optimizasyonları, nasıl çalıştığını veya asla güvenmemesi gereken bir şey olmadığından dolayı alakasız. –