Python’da X += Y ve X = X + Y arasındaki fark
Bir nesneyi başka bir nesneye eklemek için genellikle şu ifade kullanılır
Burada X’deki değeri alıp Y ile beraber yine X’e kayıt ediyor. Bu yöntem çokca kullanıldığı için C,Python gibi dillerde şu ifade de kullanılabiliyor
Bu yukarıdaki ifade ile aynı. Velakin Python’da örneğin listeler ile uğraşırken bunu kullanmak yerine list komutunun kendi içinde barındırdığı özellikleri kullanabiliriz, örneğin .append veya .extend gibi. L = [1,2] ifadesi için şu örneği ele alalım
Burada 3 sayısını L listesine ekliyebiliyoruz. Aynı işlemi şu şekilde de yapmamız mümkün
Gördüğünüz gibi ikiside aynı işlemi yapıyor. Fakat yukarıdaki örnekte, yani + kullandığımı örnek diğerine göre çok daha yavaş. Çünkü ekleme yapılırken yeni bir nesne oluşturuluyor, soldaki L listesine kopyalanıyor, bu da sağ tarafdaki L listesine kopyalanıyor. Halbuki L.append yaparken var olan L listesine 3 sayısı ekleniyor.
Şimdi Python’da şöyle bir özellik var. Kitabı okurken gördüm. Eğer siz L listesine 3 sayısını şu şekilde
eklerseniz, aynı L.append() şeklinde ekliyor. Yani bizim için daha avantajlı oluyor(daha hızlı olduğu için). Bu demek ki, Python’da eklemeler yapılırken kesinlikle +=(-=,*=,..) gibi ifadeler(Ingilizce’de: augmented assignment) kullanmamız bizim için daha iyi olacaktır.
Not:(Python öğrenirken bana göre ilginç ve işe yarayan ipuçları sizlerle bu şekilde paylaşmayı düşünüyorum)
Etiketler: augmented assignment, python
November 24, 2007
Takip Et - Rss
Fotoğraflarım
Son Yorumlar
Okuduklarım
Desteklediklerim







Etiketler (r:30)
Tavsiyeler (r:5)