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
X = X + Y
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
X += Y
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
L = L + [3]
Burada 3 sayısını L listesine ekliyebiliyoruz. Aynı işlemi şu şekilde de yapmamız mümkün
L.append(3)
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
L += [3]
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)
Yorumlar(0)
Eski yadigar Microsoft Office klaveyemi değiştirip onun yerine adam gibi tuşlarını basabileceğim bir klavye alacaktım(6 senelik klavye malum). Aynı zamanda da tıpkı şimdiki klavye'deki gibi bir kaç eksta tuşları da isteklerime göre ayarlamak istiyordum. Her neyse, yolum Ankamall'a düştü, ve en aşağıdaki Bimeks mağazasına gittim(yanındaki EP-teiler kapanmış). Klavye'lere şöyle bir bakıyordum ki gözüme bir tane A4Tech F Klavye düştü. Bir an için heveslendim ve aldım bunu. Hiç PS/2 mi Usb mi bakmadım. 


Takip Et - Rss
Fotoğraflarım
Son Yorumlar
Okuduklarım
Desteklediklerim







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