Değişken nedir?
Programlamada değişken, programının çalışırken okuyabildiği ve değiştirebildiği bir değeri saklayan, bellekte adı olan bir yerdir. score ya da user_name gibi bir ad, kodun değerin nerede saklandığını bilmeden ona başvurmasını sağlar.
Güncellendi: 24 Eylül 2026
Skor tutan bir oyunun bir sayıyı hatırlaması, ona eklemesi ve sonunda göstermesi gerekir. Sayı koda yazılamaz, çünkü her oynayışta farklıdır. Bu yüzden program bellekte bir yer ayırır, ona score gibi bir ad verir ve güncel değere her ihtiyaç duyduğunda bu adı kullanır.
Değişken nasıl çalışır
Bir program boyunca bir değişkene üç şey olur:
- Oluşturma. Program bir değer için bellek ayırır ve ona bir ad bağlar. Python'da bu, ada ilk kez değer atadığında olur. Java ve C'de değişkeni önce bir tiple tanımlarsın, örneğin
int score;. - Atama. Bir değer
=ile adın altına kaydedilir. Yeniden atamak, eski değerin yerine yenisini koyar. - Kullanım. Ad bir ifadede nerede geçerse, program onun o anda tuttuğu değeri okur.
Start: 0
After one point: 10
Doubled: 20
Her atama satırında önce sağ taraf, score değişkeninin o anki değeri kullanılarak hesaplanır. Sonra sonuç aynı adın altına geri kaydedilir. Ad aynı kalır, tuttuğu değer değişir.
Eşittir işareti "kaydet" demektir
Matematikte x = x + 1 denkleminin çözümü yoktur. Programda ise sıradan bir talimattır: x değişkeninin güncel değerini al, 1 ekle ve sonucu x içine kaydet. = işareti atama operatörüdür ve her zaman sağ taraftaki değeri soldaki ada taşır.
İki değerin eşit olup olmadığını sormak için programlama dilleri farklı bir operatör kullanır: ==. x == 5 ifadesi hiçbir şeyi değiştirmez; bir boolean olan True ya da False değerini üretir.
Matematikteki anlam benzerdir ama aynı değildir. Cebirde 2x + 3 = 7 içindeki x, çözmen gereken tek bir bilinmeyen sayıyı temsil eder. Programda ise değişken, program çalıştıkça değişebilen bilinen bir değer tutar.
Değişkenler ve veri tipleri
Her değerin bir tipi vardır: tam sayı, ondalıklı sayı, metin, boolean, liste. Diller, değişkenin kendisinin bir tipi olup olmadığı konusunda ayrılır.
Python ve JavaScript'te tipi değer taşır ve bir değişken zaman içinde farklı tiplerde değerler tutabilir. Buna dinamik tipleme denir:
42 <class 'int'>
forty-two <class 'str'>
Java, C ve C++'ta değişkenin, onu tanımladığında seçilen sabit bir tipi vardır. Buna statik tipleme denir: derleyici, bir int değişkenine metin koymaya çalışan kodu program daha çalışmadan reddeder.
int age = 30; // Java: type, name, value
String name = "Rosa";
let age = 30; // JavaScript: can be reassigned
const PI = 3.14159; // cannot be reassigned
C'de tip, değişkenin ne kadar bellek kaplayacağını da belirler. Günümüzdeki neredeyse her sistemde bir int 4 bayt, bir double 8 bayt, bir char ise tam olarak 1 bayttır. Bir oyundaki tüm skorlar gibi birçok değeri tek bir ad altında tutmak için bir dizi ya da liste kullanırsın ve her değere scores[0] gibi konumuyla ulaşırsın.
Kutular ve etiketler
Değişkenin yaygın bir resmi, bir değer tutan kutudur. Bu resim C'ye iyi uyar: int x; gerçekten sabit bir bellek alanıdır ve y = x; değeri ikinci bir alana kopyalar.
Python daha çok etiketler gibi çalışır. Her değer bir nesnedir ve değişken, bir nesneye bağlanmış bir addır. Fark, iki ad aynı listeyi gösterdiğinde ortaya çıkar:
5 6
[1, 2, 3, 4]
Sayılarda y = y + 1 yeni bir sayı oluşturur ve y etiketini ona taşır, bu yüzden x hâlâ 5'i gösterir. Listede ise b = a hiçbir şey kopyalamaz: iki ad da tek bir listeyi gösterir, bu yüzden b üzerinden yapılan bir değişiklik a üzerinden de görünür. Ayrı bir liste istediğinde b = a.copy() yaz. Java ve JavaScript'teki nesneler ve diziler de aynı şekilde davranır.
Kapsam: değişken nerede var olur
Bir değişken programın yalnızca bir kısmında görünür; bu kısma değişkenin kapsamı (scope) denir. Bir fonksiyonun içinde oluşturulan değişken yereldir: fonksiyon çalışırken var olur, fonksiyon döndüğünde yok olur. Bir dosyanın en üst seviyesinde oluşturulan değişken globaldir ve o dosyanın her yerinden okunabilir.
Yerel değişkenler üzerine düşünmek daha kolaydır, çünkü onları değiştirebilecek her satır tek bir fonksiyonun içindedir. Birçok global değişkene dayanan programlarda hata ayıklamak da tam tersi nedenle daha zordur.
Değişkenleri adlandırmak
İyi adlar değerin ne anlama geldiğini söyler: total_price, is_logged_in, retries_left. Çoğu dil aynı kuralları paylaşır:
- ad harflerden, rakamlardan ve alt çizgilerden oluşur ve rakamla başlayamaz;
- ad, dilin
if,forya daclassgibi bir anahtar kelimesi olamaz; - adlar büyük/küçük harfe duyarlıdır, yani
totalveTotaliki farklı değişkendir.
Stil dile göre değişir. Python snake_case (user_name), Java ve JavaScript ise camelCase (userName) kullanır. Hiç değişmemesi gereken değerler çoğu zaman MAX_SIZE gibi büyük harflerle adlandırılır.
Sık yapılan hatalar
Bir değişkeni değeri olmadan kullanmak. Python bir NameError ile durur:
NameError: name 'total' is not defined
Aynı hata bir ad yanlış yazıldığında da çıkar, çünkü bilgisayar için totla ve total farklı adlardır.
== demek isterken = yazmak. Python'da if x = 5: bir sözdizimi hatasıdır, yani hemen fark edersin. C ve JavaScript'te if (x = 5) geçerli koddur: x içine 5 kaydeder ve koşul her zaman doğru olur. Program çalışır ama yanlış sonuçlar verir; bu, bulunması uzun sürebilen bir mantık hatasıdır.
Bir değişkene iki iş vermek. Bir fonksiyonun başında fiyat, sonunda adet tutan bir değişken yine çalışır, ama her okuyucu hangi anlamın geçerli olduğunu takip etmek zorunda kalır. Her anlama kendi adını ver.
Sırada ne var
Değişkenler değer tutar; sonraki adım, ne tür değerler olduğunu bilmektir: doğru ve yanlış için boolean'ın ne olduğunu, tek ad altında birçok değer için dizinin ne olduğunu oku. Python değişkenleri rehberi atamayı, adlandırma kurallarını ve çoklu atamayı daha ayrıntılı anlatır; Python kursunda da ilk dersten itibaren değişken yazıp değiştirirsin.
Sıkça Sorulan Sorular
Python'da değişken nedir?
age = 30 gibi bir atamayla, tip belirtmeden oluşturursun; aynı ad daha sonra farklı tipte bir değeri gösterebilir. Python'da değişken adları geleneksel olarak snake_case ile yazılır.Değişkenin basit bir tanımı nedir?
Değişken bir çocuğa nasıl anlatılır?
score, kutu da bir seferde tek bir şey tutar. İçinde ne olduğunu görmek için bakabilir ya da onu çıkarıp yerine yeni bir şey koyabilirsin; etiket aynı kalır.Değişken ile sabit arasındaki fark nedir?
final ile işaretler, JavaScript ve C ise const kullanır. Python'da zorunlu sabitler yoktur, bu yüzden programcılar değişmemesi gerektiğini belirtmek için adı MAX_USERS gibi büyük harflerle yazar.