27. Değişkenler

Beşinci derste Reeborg'a Türkçe öğretmiştik. git = move komutunu vererek git'i move ile eşanlamlı hale getirmiştik. Bu eşitlikten sonra move yerine git kullanılabilmişti.

Eşanlamlılar sayılar için de kullanılabilirler.

>>> n = 3
>>> print n
3
>>> 2*n
6
>>> n*n
9

Güzel, değil mi? Eşanlamlının değerini ihtiyaç duyduğumuzda değiştirebiliriz.

>>> n = 3
>>> print n
3
>>> n = 2
>>> print n
2

Eşanlamlının değerini değiştirebildiğimiz için ona değişken denir. Bir eşanlamlı yaratılırken, bir değişkene değer atanmış olur. "=" sembolü eşittir şeklinde değil, eşanlamlısıdır şeklinde okunmalıdır. Bunun nedeni, "eğer n 2'ye eşitse, 2'de n'e eşittir diyebiliriz", oysa bunu Python'da denediğinizde durumun farklı olduğunu göreceksiniz. Aşağıdaki kodu inceleyin.

>>> n = 2    # bu geçerlidir
>>> 2 = n
SyntaxError: can't assign to literal

Eğer klavyede eşittir işareti yerine aşağıdaki gibi bir sembol olsaydı

>>> n  3
>>> print n
3

Python'un yaratıcısı Guido van Rossum bu işareti eşittir işareti yerine kullanırdı. Bu aynı zamanda iki sayıyı karşılaştırırken neden "==" kullandığımızı da açıklıyor.

Kısaca yukarıda gördüğümüz gibi, bir sayı bir değişkene atandıktan sonra bu değişken aynen sayıyı kullandığımız şekilde kullanılabilir. Örneğin:

>>> a = 1
>>> b = 2
>>> c = a + b
>>> print c
3

Buraya kadar gördüklerimiz kolay anlaşılır olmalı. Aşağıdaki kod ise başlangıçta biraz zor görünebilir:

>>> a = 1
>>> a = a + a   # Sürpriz?
>>> print a
2

"=" 'in eşanlamlısıdır şeklinde okunması gerektiğini hatırlayın. Bu nedenle sürpriz satır aşağıdaki gibi okunmalıdır:

  • "=" işaretinin sağındakileri al [burada, a + a.]
  • Bunun değerini hesapla.  [2; 1 + 1'den dolayı].
  • Soldaki değişken [a] hesaplanan değerin (2) eşanlamlısıdır.
  • Bu şekilde açıklayarak, sanki işi daha anlaşılmaz hale getirdim. Ama bu kullanıma da kısa zamanda alışacaksınız.

    Bu yapı çok sık kullanıldığından dolayı, Python'da aynı işi aşağıda olduğu gibi de yapabilirsiniz:

    >>> a = 1
    >>> a += 3       # "a = a + 3"
    >>> print a
    4
    
    >>> a -= 2       # "a = a - 2"
    >>> print a
    2
    
    >>> a *= 5       # "a = a * 5"
    >>> print a
    10
    
    >>> a /= 2       # "a = a/2"
    >>> print a
    5
    

    Sıra sizde

    10 tabanında iki sayıyı Reeborg'a toplatmanın ne kadar zor olduğunu hatırlayın. Hafızanızı tazelemek gerekirse, yapılacak iş aşağıda olduğu gibi Reeborg'a toplamaları yaptırmak.

    3+2=5 3+2lead to 5

    8+4=12 8+4lead to 12

    İşinizi kolaylaştırmak için değişkenler kullanabilirsiniz, bu durumda daha önceden olduğu gibi özel bir dünyaya ve bip taşımaya ihtiyacınız olmayacak. Bir kaç tavsiye:

    previousPython komutlarının yorumlanması - home - Değişkenler ve Fonksiyonlarnext