[Gelistirici] Python'da default parametrelerin mutable olmasının sonuçları
Gökçen Eraslan
gokcen at pardus.org.tr
22 Kas 2007 Per 16:57:47 EET
Selamlar,
Geçenlerde package-manager'da basit bir çeviri hatasının sonucu olarak
bulduğum, bugün de python dokümanlarından[1] teyit ettiğim bir durumu yazmak
istiyorum.
(Alttaki kısmı okumak yerine doğrudan ekteki koda bakabilirsiniz, kodun
çıktısı 0, 0 veriyor)
Eğer bir fonksiyonda, bir parametrenin default değerini mutable bir object'le
veriyorsanız liste, dictionary gibi (veyahut bir fonksiyon da olabilir) o
zaman dikkat etmeniz gereken bir durum ortaya çıkıyor: default parametrenin
değeri o fonksiyon _tanımı_ çalıştırıldığı zaman belirleniyor ve siz daha
sonra bu değeri değiştirseniz de parametrenin default değeri bundan
etkilenmiyor.
Kayıtlarda bulunsun, bilmeyenler öğrensin, herkes mutlu olsun.
Sevgiler.
[1] http://docs.python.org/ref/function.html (altta, kalın yazılarla
Default... yazan kısım)
--
Gökçen Eraslan
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: deneme.py
Type: application/x-python
Size: 145 bytes
Desc: kullanılamıyor
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20071122/e1e15c22/attachment-0002.bin>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi