Menu
Coddy logo textTech

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.

Yazan Kevin Spektor, Kurucu ortak ve CTO

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:

  1. 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;.
  2. Atama. Bir değer = ile adın altına kaydedilir. Yeniden atamak, eski değerin yerine yenisini koyar.
  3. 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, for ya da class gibi bir anahtar kelimesi olamaz;
  • adlar büyük/küçük harfe duyarlıdır, yani total ve Total iki 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?
Python'da değişken, bir değeri gösteren bir addır. Onu 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 programın sakladığı ve değiştirebildiği bir değerin adıdır. Ad aynı kalır, altındaki değer ise değiştirilebilir; tıpkı bir skor tabelasında "Ev sahibi" etiketinin aynı kalıp altındaki sayının artması gibi.
Değişken bir çocuğa nasıl anlatılır?
Onu üzerinde etiket olan bir kutuya benzet. Etiket addır, örneğin 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?
Bir değişkenin değeri atandıktan sonra değiştirilebilir, bir sabitin değeri ise atandığı anda sabitlenir. Java sabitleri 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.
Programlamada değişken türleri nelerdir?
Değişkenler genellikle nerede görünür olduklarına göre gruplanır: yerel değişkenler tek bir fonksiyonun içinde var olur, global değişkenler bütün bir dosyada ya da programda görünür, örnek (instance) değişkenleri ise bir sınıfın tek bir nesnesine aittir. Ayrıca tuttukları değerin tipine göre de anlatılırlar: tam sayı, ondalıklı sayı, string ya da boolean gibi.
Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA