Python dinamik veri tipleri kullanır. Yani, bir değişken adını kullanmadan önce deklare etmeniz gerekmez, aynı ismi farklı tipte değişkenlere atayabilirsiniz. Programcılığı kolaylaştıran bu özellik, bazı özel durumlarda beklenmedik şeylere yol açabilir.
Elinizde bulunan bir listeyi başka bir değişkene kopyalamak istediğinizi düşünelim. Önce şöyle bir atama yaptınız:
>>> a = [1,2,3] >>> b = a >>> b [1, 2, 3]
Ve şimdi b’nin bir elemanında değişiklik yaptınız.
>>> b[1] = "merhaba" >>> b [1, 'merhaba', 3]
Ancak bu değişiklik, orijinal a listesini de etkiler.
>>> a [1, 'merhaba', 3]
Bu davranış C gibi dillerde alışık olduğumuzdan farklı. Nedenini anlamak için Python’un atamaları nasıl yaptığını inceleyelim.