Merhaba arkadaşlar;
Aramızda hiç, id()
fonksiyonuna -tek alternatif olarak- ihtiyaç duyan oldu mu?
Merhaba arkadaşlar;
Aramızda hiç, id()
fonksiyonuna -tek alternatif olarak- ihtiyaç duyan oldu mu?
Nesnelere ait özel ve sabit bir sayı döndüren başka bir builtin fonksiyon bilmiyorum. CPython’da nesnenin hafızadaki konumunu da veriyor.
Doğru bu işi yapan tek yerleşik fonksiyon bu.
Benim demek istediğim, hiç bu fonksiyonu kullanmayı gerektiren bir durumla karşılaştınız mı?
Daha çok debug amaçlı kullanılıyor.
Bunu şu kod ile denedim; (biliyorum biraz karmaşık )
a = lambda:1
print(f"id: {id(a)}")
b = str(a).split()[3:][0].replace(">","")
print(f"object: {a} =")
print(f" id: {int(b,0)}")
Ve şu sonuca ulaştım,
id: 542315727744
object: <function <lambda> at 0x7e44894b80> =
id: 542315727744
Bu(2. satırda ki) ifadenin ne olduğunu anlayamamıştım, bu faydalı bilgi için teşekkür ederim.
Evet kullandım.
Şöyle ki kullanıcılar ve botlar vardı elimde. Sitenin ön yüzünde bir html id
si oluşturmalıydım. Her oyuncu(kullanıcı veya bot) için özel bir id olmalıydı. Orada kullanmak için bu fonksiyonu kullandım.
O kadar spesifik bir durum ki açıklamakta zorlanıyorum.
Bu id
'ler, şu şekildeki HTML id
'leri değil, değil mi?
<div id="123">...</div>
Tam olarak o şekilde. Sadece dinamik olarak oluşturulup erişilen bir etiket olduğu için bu yolu tercih ettim. Bu yanlış mı ya da daha iyi bir yolu var mı?
Bu da işe yarar, ama id()
fonksiyonu, bu iş için tek alternatif değil; random
modülünün, randint()
diye bir fonksiyonu var sanırım, onu da kullanılabilirsiniz.
iki objenin aynı obje olduğunu kontrol etmek için kullanılır
Ben bir sayacı id olarak kullanmayı tercih ederdim.
Bu bir alternatif değil çünkü bir id birden fazla kez çıkabilir.
Fonksiyonun işlevini biliyorum;
fonksiyonun işlevi objenin idsini vermek ben kullanabileceğin yeri söyledim
Pekii… buna hiç ihtiyaç duydunuz mu?
genelde kendim id niteliği tanımlardım ama bu yolu unutmuştum artık bunu kullanırım
Yani, demek istediğim, Python’da program yazarken, -hata ayıklama haricinde- niye bir id
atama ihtiyacı hissediyor sunuz?
iki objenin aynı olup olmadığını kontrol etmek için
Şuan bir
while True:
döngüsüne girdik sanırım; siz en iyisi basit bir örnek verin.
Bu, is
deyimi ile de yapılabilir. id()
, burada tek alternatif değil.
zaten is de idsini kullanıyor
burda idyi neden kullanırsın bilmem örnek gelmedi aklıma
belki veritabanları için kullanılabilir