- Değişken oluşturmak ve değerini güncellemek
int,float,strvebooltürlerini ayırt etmek- Tam sayı bölmesi ve kalan dahil aritmetik işleçleri kullanmak
- Değerleri
int(),float()vestr()ile dönüştürmek
Bir oyunda puan topluyorsun: önce 0, sonra 10, sonra 25. Programın bu sayıyı bir yerde hatırlaması ve her seferinde güncellemesi gerekir. İşte bunun için değişkenler kullanılır. Değişkeni üzerinde etiket olan bir kutu gibi düşün: içine bir değer koyarsın, sonra onu adıyla bulup bakar ya da değiştirirsin.
Değişkenler
Bellekte saklanan bir değere verilen ad. Değişken = işaretiyle oluşturulur: solda ad, sağda değer yazılır.
name = 'Murad'
age = 14
height = 1.62
print(name, age, height)
age = age + 1
print('Next year:', age)▸ Beklenen çıktı
Murad 14 1.62 Next year: 15
Dikkat: programlamada = matematikteki eşittir işareti değil, atama işlemidir. age = age + 1 satırı şöyle okunur: “age'in eski değerini al, 1 ekle ve sonucu yeniden age'e yaz”. Değişkenin değeri her an değişebilir; adı da buradan gelir.
- Ad harf, rakam ve alt çizgi (
_) içerebilir ama rakamla başlayamaz:score2olur,2scoreolmaz. - Adda boşluk olamaz. Kelimeleri alt çizgiyle birleştir:
first_name,total_price. - Büyük-küçük harf fark eder:
ageveAgeiki ayrı değişkendir. - Python'un ayrılmış sözcükleri (
if,for,class,Truevb.) ad olarak kullanılamaz. - Anlamlı adlar seç:
price,x'ten çok daha fazlasını anlatır.
Temel veri türleri
Her değerin bir türü vardır ve tür, o değerle ne yapılabileceğini belirler: sayılar toplanabilir, karakter dizileri birleştirilebilir. Python türü kendisi belirler; ayrıca yazman gerekmez.
| Tür | Nedir | Örnekler |
|---|---|---|
int | tam sayı | 14, -3, 2026 |
float | ondalıklı sayı | 1.62, 3.14, -0.5 |
str | karakter dizisi (metin) | 'Baku', '42' |
bool | mantıksal değer | True, False |
Bir değerin türünü type() fonksiyonuyla kontrol edebilirsin.
print(type(14))
print(type(1.62))
print(type('Baku'))
print(type(True))
print(type('42'))▸ Beklenen çıktı
<class 'int'> <class 'float'> <class 'str'> <class 'bool'> <class 'str'>
Son satıra dikkat et: '42' tırnak içinde olduğu için sayı değil, karakter dizisidir. True ve False ise “evet” ve “hayır” cevaplarıdır; koşullar dersinde bunlara çok ihtiyacın olacak.
Aritmetik işlemler
| İşleç | İşlem | Örnek | Sonuç |
|---|---|---|---|
+ | toplama | 7 + 2 | 9 |
- | çıkarma | 7 - 2 | 5 |
* | çarpma | 7 * 2 | 14 |
/ | bölme | 7 / 2 | 3.5 |
// | tam sayı bölmesi | 7 // 2 | 3 |
% | bölümden kalan (mod) | 7 % 2 | 1 |
** | üs alma | 7 ** 2 | 49 |
Leyla tanesi 2,5 manat olan 3 defter alıyor. Hesabı Python'a yaptıralım ve diğer işlemleri de deneyelim.
price = 2.5
count = 3
total = price * count
print('Total:', total)
print(17 // 5, 17 % 5)
print(2 ** 10)
print(2 + 3 * 4, (2 + 3) * 4)▸ Beklenen çıktı
Total: 7.5 3 2 1024 14 20
Python, matematikteki işlem önceliğine uyar: önce üs alma, sonra *, /, //, %, en son da + ve -. Sırayı değiştirmek için parantez kullan: 2 + 3 * 4 14 verir, (2 + 3) * 4 ise 20.
Bir film 135 dakika sürüyor. Bu kaç saat kaç dakikadır?
Çözümü gösterÇözümü gizle
// ile buluruz: 135 // 60 = 2.Kalan dakikaları
% ile buluruz: 135 % 60 = 15.Cevap: 2 saat 15 dakika.
minutes = 135
hours = minutes // 60
rest = minutes % 60
print(hours, 'h', rest, 'min')▸ Beklenen çıktı
2 h 15 min
Bir değişkeni kendi değerine göre güncellemek o kadar sık gerekir ki Python'da bunun kısa bir yazımı vardır: score += 10, score = score + 10 ile aynı anlama gelir. -=, *= ve /= de aynı şekilde çalışır.
score = 0
score += 10
score += 5
score -= 3
score *= 2
print('Score:', score)▸ Beklenen çıktı
Score: 24
Tür dönüşümü
Bir sayıyı karakter dizisiyle doğrudan toplayamazsın: '5' + 5 yazarsan Python TypeError hatası verir, çünkü metinle sayıyı nasıl birleştireceğini bilmez. Böyle durumlarda değeri istediğin türe dönüştürmelisin: int() tam sayıya, float() ondalıklı sayıya, str() ise karakter dizisine çevirir.
text = '25'
number = int(text)
print(number + 5)
print(text + '5')
print(float('3.5') * 2)
print('Age: ' + str(14))
print(int(7.9))▸ Beklenen çıktı
30 255 7.0 Age: 14 7
text + '5' iki karakter dizisini yan yana eklediği için 255 elde edilir; bu, iki yüz elli beş sayısı değil, 2, 5 ve 5 karakterlerinden oluşan bir metindir.
Bir oda dikdörtgen şeklindedir: width = 7, height = 4 (metre cinsinden). Alanı area değişkenine, çevreyi perimeter değişkenine kaydet, ardından iki satır yazdır: alanla birlikte Area:, çevreyle birlikte Perimeter:.
width = 7
height = 4
# area = ...
# perimeter = ...
# print Area: and Perimeter:▸ Beklenen çıktı
Area: 28 Perimeter: 22
47 şeker 6 çocuk arasında eşit olarak paylaştırılıyor. Sayılar karakter dizisi olarak verilmiş ('47' ve '6'). Onları int() ile sayıya çevir, ardından iki satır yazdır: Each child: ve her çocuğa düşen şeker sayısı, Left over: ve artan şekerler.
candies_text = '47'
children_text = '6'
# 1) convert both strings to int
# 2) print Each child: and the share (use //)
# 3) print Left over: and the rest (use %)▸ Beklenen çıktı
Each child: 7 Left over: 5
Önemli noktalar
- Değişken, bir değere verilen addır ve
=(atama) ile oluşturulur. - Temel türler
int,float,strvebool'dur; bir değerin türünütype()gösterir. /her zamanfloatverir;//bölümün tam kısmını,%ise kalanı hesaplar.x += 1,x = x + 1ifadesinin kısa yazımıdır.int(),float()vestr()bir değeri başka türe dönüştürür;int()ondalık kısmı atar.
Kendini test et
10 soru. Her doğru cevap XP kazandırır.
x = 5, sonra x = x + 2 yazılıyor. print(x) ne gösterir?