? Okuma Hesaplanıyor... Okuma: %0
0

Python'a Sıfırdan Giriş (Python 1.Ders)

Resim

B1 — Programlamanın Doğuşu: İnsanlık Neden Bir Dile İhtiyaç Duydu?
Bu bölümün temel sorusu: Bilgisayarlar zaten hesap yapabiliyor. Öyleyse "programlama dili" diye ayrı bir şeye neden ihtiyaç duyduk?


🎯 Bölümün Öğrenme Hedefleri
Bu bölümün sonunda öğrenci;
  • bilgisayarların aslında ne anladığını ve bir "dile" neden ihtiyaç duyduğumuzu,
  • Python'un hangi problemi çözmek için tasarlandığını,
  • yorumlanan (interpreted) dil ile derlenen (compiled) dil arasındaki farkı,
  • print() fonksiyonunun aslında ne yaptığını,
  • string, sayı ve yorum satırı kavramlarının neden birbirinden ayrıldığını,
  • Python'un büyük/küçük harfe neden duyarlı olduğunu,
  • Python'un diğer dillerle nasıl bir ilişki içinde olduğunu
açıklayabilecek duruma gelecektir.


1.1. Her Şey Bir Sorunla Başladı
Programlamayı anlamanın en kötü yollarından biri, konuya doğrudan print("Merhaba Dünya") yazdırarak başlamaktır. Bu kod doğrudur, çalışır — ama neden böyle bir şeye ihtiyaç duyduğumuzu bilmeden ezberlemek, kalıcı bir öğrenme sağlamaz.

Şimdilik kodu bir kenara bırakalım. Binlerce yıl değil ama seksen yıl geriye gidelim. 1940'lı yıllarda ilk bilgisayarlar üretildiğinde, bu makineler yalnızca bir şeyden anlıyordu: elektrik akımının açık ya da kapalı olması. Yani 0 ve 1.

Bir insanın bilgisayara "şu iki sayıyı topla" demesi gerekiyorsa, bunu doğrudan 0'lar ve 1'lerden oluşan uzun bir dizi olarak yazması gerekiyordu:

Kod:
01100001 01100100 01100100

Bu, tıpkı düzgün olmayan bir bölgenin alanını klasik geometri formülleriyle hesaplayamamak gibi bir sorundu — elimizdeki araç (makine dili), çözmek istediğimiz probleme (insanın düşünme biçimine) uymuyordu.


1.2. Büyük Fikir: Anlaşılmazı, Anlaşılabilir Katmanlara Böl
Karşımızdaki sorunu doğrudan çözemiyoruz. İnsan beyni 0-1 dizileriyle düşünemez bir makine değil ama güçlü bir fikir kullanabilir: makine ile insan arasına bir çevirmen katmanı koymak!

Önce Assembly dili ortaya çıktı ve 0-1 yerine kısa İngilizce kısaltmalar kullanmayı sağladı (MOV, ADD gibi). Sonra C gibi diller ortaya çıktı insan mantığına daha da yakın. Sonra da Python gibi diller geldi ve neredeyse düz İngilizce cümleye yakın okunabiliyor.

Her katman, bir öncekinin üzerine inşa edildi. Tıpkı dikdörtgenleri küçülterek eğri bir alana yaklaşmak gibi. Her yeni dil katmanı, insan ile makine arasındaki mesafeyi biraz daha kapattı.

1.3. Peki Python Nereden Çıktı?
1991'de Guido van Rossum adında bir programcı, elindeki dillerin (özellikle C) çok fazla teknik detayla uğraştırdığından rahatsızdı. Kodun okunabilir olmasının, hızlı yazılabilir olmasından çoğu zaman daha değerli olduğunu düşünüyordu. Bu nedenle Python'u tasarlarken şu felsefeyi benimsedi: "Kodun nasıl göründüğü önemlidir; kodu ilk yazan sen değil, altı ay sonra o kodu okuyan biri (belki yine sen) olacak."

Bu felsefe yüzünden Python bugün:
  • Yeni başlayanlar için en kolay öğrenilen dillerden biridir
  • Yapay zeka / veri biliminde endüstri standardı hâline gelmiştir (pandas, numpy, tensorflow)
  • Web geliştirme, otomasyon, oyun geliştirme, siber güvenlik gibi hemen her alanda kullanılır

1.4. Yorumlanan Dil Ne Demek? (Arka Planda Ne Oluyor)
Az önce dediğimiz gibi bilgisayar hâlâ sadece 0 ve 1'lerden anlıyor. Peki Python kodun bu 0-1'lere nasıl dönüşüyor? İki yaklaşım var:
  1. Derlenen (compiled) diller (C, C++ gibi): Kodun tamamı önce baştan sona makine diline çevrilir (buna "derleme" denir), sonra çalıştırılır. Yani önce bütün tarifi Türkçe'den bir dile çevirip kitap hâline getiriyorsun, sonra o kitabı kullanıyorsun.
  2. Yorumlanan (interpreted) diller (Python gibi): Bir yorumlayıcı (interpreter) kodu satır satır okur, anlık olarak çevirir ve hemen çalıştırır. Yani bir tercüman yanında duruyor, sen konuştukça o anında çeviriyor.
Bu yüzden Python'da kodu yazar yazmaz çalıştırabilirsin ayrı bir "derleme" adımı beklemene gerek yok. Bunun bedeli ise, yorumlanan diller genelde derlenen dillerden biraz daha yavaş çalışır. (İleri seviyede bunun neden böyle olduğuna daha çok gireceğiz.)


1.5. “Program” Aslında Bir Tarif Kitabıdır
Bir program, bilgisayara adım adım ne yapması gerektiğini söyleyen bir talimatlar dizisidir tıpkı bir yemek tarifi gibi. Python kodu yukarıdan aşağıya, satır satır çalışır. Bir satırda hata varsa, Python o satıra gelene kadar önceki satırları çalıştırır, sonra hatayı verip durur tıpkı bir tarifte 3. adımdaki malzeme eksikse, ilk iki adımı yapıp orada takılmak gibi.
Resim


1.6. İlk Talimat: print() Fonksiyonu
Şimdi elimizdeki en basit ama en temel talimata bakalım yani bilgisayara “şunu ekrana yaz” demek:
Kod:
print("Merhaba Dünya")
Burada print bir fonksiyon yani önceden tanımlanmış, belirli bir işi yapan bir komut bloğu (fonksiyonları kendimiz nasıl yazacağımızı ilerideki derslerde göreceğiz). Parantez içine koyduğun şeye (buna “argüman” denir) bakar ve onu ekrana basar:

Kaynak Kod


Kod:
print("Merhaba")      # metin
print(42)              # sayı
print(3.14)            # ondalıklı sayı
print(True)            # mantıksal değer

Çıktı


Merhaba
42
3.14
True



1.7. Neden Bazı Şeyler Tırnak İçinde, Bazıları Değil?
Burada yeni başlayanların en çok kafasını karıştıran noktalardan birine geliyoruz.
Kod:
print("Merhaba")   # bu çalışır
print(Merhaba)      # HATA!

DİKKAT
Python, tırnak içindeki her şeyi olduğu gibi bir “yazı” (string) olarak kabul eder sorgulamaz, olduğu gibi yazdırır. Tırnaksız yazılan her şeyi ise bir isim (değişken, fonksiyon, vb.) sanır ve “bu isimde tanımlanmış bir şey var mı?” diye arar. Merhaba diye bir şey tanımlamadığımız için Python onu bulamaz ve hata verir.

Bu ayrım o kadar temeldir ki, ilerleyen tüm bölümlerde (değişkenler, veri tipleri, fonksiyonlar) sürekli karşımıza çıkacak. Tek tırnak ('...') ile çift tırnak ("...") Python’da aynı işi görür:

Kaynak kod


Kod:
print('Merhaba')
print("Merhaba")

Çıktı


Merhaba
Merhaba


1.8. Birden Fazla Değeri Aynı Anda Yazdırmak

Kaynak kod


Kod:
print("Yaşım:", 25)

Çıktı


Yaşım: 25


Python, virgülle ayrılan öğelerin arasına otomatik olarak bir boşluk koyar.


1.9. Basit Matematik İşlemleri

Kaynak kod


Kod:
print(3 + 2)     # 5
print(10 - 4)    # 6
print(6 * 7)     # 42
print(15 / 4)    # 3.75  (bölme her zaman ondalıklı sonuç verir)

Çıktı


5
6
42
3.75

Python bu işlemleri parantez içinde anlık olarak hesaplar, sonra sonucu yazdırır. Tıpkı 3 + 2 ifadesinin kendisinin bir "talep" olması, 5'in ise o talebin "sonucu" olması gibi.

1.10. Yorum Satırları, Kod İçinde Varlar Ama Ekranda Yok

Kaynak kod


Kod:
# Bu bir yorum satırıdır, Python bunu çalıştırmaz
print("Sadece bu yazı görünür")

Çıktı


Sadece bu yazı görünür


# işaretinden sonraki her şey Python tarafından tamamen görmezden gelinir yani ekranda çıktı olarak görünmez.

Peki bu neden önemli? Çünkü altı ay sonra kendi kodun bile sana yabancı gelebilir. Yorumlar, gelecekteki sana (ya da kodunu okuyacak başka birine) bir not bırakmanın yoludur.


1.11. Python Büyük/Küçük Harfe Duyarlı mı?
Evet, kesinlikle duyarlı (case-sensitive). isim, Isim ve ISIM Python için üç farklı isimdir. Yani birbirinden farklı üç kişi veya üç elaman.

Kaynak kod


Kod:
isim = "Ahmet"
print(Isim)   # HATA! "Isim" diye bir değişken tanımlamadın, "isim" tanımladın

Çıktı


null

isim değişkenini Ahmet olarak tanımladık ama Isim ise farklı bir değişken olduğudan ve tanımlanmadığından python bunu algılayamaz ve çıktı vermez (verilen çıktı hata mesajıdır.)

Kaynak kod


Kod:
print("Merhaba")   # doğru
Print("Merhaba")    # HATA!

Çıktı


Merhaba
null

Fonksiyonların isimlerine de duyarlıdır! print ve  P rint aynı fonksiyon değil.

BİLGİ
🤔 Neden Böyle Tasarlanmış?
Bazı diller (SQL gibi) büyük/küçük harfe duyarsızdır. Python'un duyarlı olmasının nedeni, dilin tutarlılığı ve netliği önceliklendirmesidir. kullanici A di ve kullanici a di görsel olarak iki farklı şeymiş gibi ayırt edilebilsin istenmiştir. Bunun bedeli, başlangıçta en sık yapılan hatalardan birinin bu olmasıdır.


1.12. Python Başka Bir Dilin İçinde Kullanılır mı?
Evet, birkaç şekilde:
  • Python, C ile iç içedir: Python'un standart yorumlayıcısı (CPython) aslında C dilinde yazılmıştır. Performans kritik yerlerde C kodu yazıp Python'a bağlamak mümkündür (ctypes, Cython).
  • Farklı platformlarda çalışan versiyonlar var: Jython (Java sanal makinesinde çalışır), IronPython (.NET ortamında çalışır)
  • Uygulama içine gömülü Python: Blender gibi bazı programlar, kullanıcıların uygulamayı Python scriptleriyle özelleştirmesine izin verir
  • Diğer dillerle haberleşme: Bir web sitesinin ön yüzü JavaScript ile yazılmış olsa bile, arka planda (backend) Python çalışabilir ve ikisi API üzerinden konuşabilir

⚠️ Kavram Yanılgıları
❌ Yanlış düşünce: "Python sadece yeni başlayanlar için basit bir dildir, gerçek işler C/Java gibi dillerle yapılır."
✅ Doğru düşünce: Python, okunabilirliği önceliklendirdiği için öğrenmesi kolaydır ama Instagram, YouTube'un bir kısmı, NASA'nın bazı sistemleri ve modern yapay zeka altyapısının neredeyse tamamı Python ile yazılmıştır. "Kolay öğrenilir" ile "güçsüz" aynı şey değildir.

❌ Yanlış düşünce: "Tırnak işareti sadece görsel bir ayrıntıdır, olsa da olur olmasa da."
✅ Doğru düşünce: Tırnak, Python'a bir ifadenin "sabit bir metin" mi yoksa "bir isim/işlem" mi olduğunu söyleyen temel bir sinyaldir. Bu ayrımı atlarsan, ilerleyen bölümlerde (özellikle değişkenler ve string işlemlerinde) sürekli hata alırsın.


👨‍🏫 Öğretmen Notu
Yeni başlayan birine programlama anlatılırken doğrudan sözdizimi kurallarına (syntax) geçilmesi önerilmez. Önce şu bilişsel çatışma oluşturulmalı:
  • Öğrenci bilgisayarın sadece 0-1 anladığını duyar, şaşırır.
  • "Peki ben nasıl İngilizce/Türkçeye yakın bir şey yazıp bilgisayara anlatabiliyorum?" sorusu ortaya çıkar.
  • Programlama dilinin bir "çevirmen katmanı" olduğu fikri verilir.
  • Ancak bu noktada ilk somut komuta (print()) geçilir.
  • Sözdizimi kuralları (tırnak, büyük/küçük harf duyarlılığı) tek tek, "neden böyle" sorusuyla birlikte verilir.
Böylece öğrenci kuralları ezberlemek yerine, kuralların neden var olduğunu görür.


📌 Bu Bölümden Çıkarılacak En Önemli Sonuç
Programlama dilleri bir formülle başlamadı. İnsan ile makine arasındaki dev mesafeyi kapatma ihtiyacından doğdu. Python, bu mesafeyi "okunabilirliği" merkeze koyarak kapatan bir dildir. print() gibi basit görünen bir komutun arkasında bile, aslında koca bir felsefe yatıyor: kod, insan tarafından kolayca okunabilmeli.


📝 Bölümün Kısa Özeti
Bilgisayarlar yalnızca 0 ve 1'den anlar; programlama dilleri bu makine dilini insan mantığına yaklaştıran katmanlardır. Python, okunabilirliği önceliklendirerek tasarlanmış, yorumlanan (satır satır çalıştırılan) bir dildir. print() fonksiyonu ekrana veri yazdırır; tırnak içindeki ifadeler metin (string), tırnaksız ifadeler ise isim veya işlem olarak değerlendirilir. Python büyük/küçük harfe duyarlıdır ve C, Java, .NET gibi diğer dillerle çeşitli şekillerde etkileşime girebilir.


Bu metnin taslağı yazar tarafından kaleme alınmış, dil bilgisi ve akıcılık düzenlemeleri Gemini ve Grok iş birliğiyle tamamlanarak siz kıymetli okuyucularımızın beğenisine sunulmuştur.

DİKKAT

Konuyu Dinle
Hazır. Konuyu dinlemek için Oynat'a basın.

Yazarımız Hasan hakkında: Adım Hasan, ama bir dönem MyBB kullananlar beni Yondaime nicki ile tanırdı. 2009 da başladı web maceram, MyBB, Wordpress, Matematik, Adalet, Bilgisayar Programcılığı, derken şimdide burada bir şeyler yapmaya çalışıyorum :)

user avatar


 

Yazıya herhangi bir yorum yapılmadı

[-]
Hızlı Cevap
Güvenlik Kodu:
Lütfen, resmin üzerindeki harf ve rakamlardan oluşan Güvenlik Kodunu, aşağıdaki metin kutusuna giriniz.
Güvenlik Kodu:
(Büyük/Küçük harf duyarsız)


 
Reklam
Reklam


Kategoriler


Yasal Uyarı
Bu internet sitesi içeriğinde yer alan tüm yazılar Gidenler.Me’ye ait olup, 5846 sayılı Fikir ve Sanat Eserleri Kanunu ve 5237 sayılı Türk Ceza Kanunu kapsamında korunmaktadır. Bu hakları ihlal eden kişiler, 5846 sayılı Fikir ve Sanat eserleri Kanunu ve 5237 sayılı Türk Ceza Kanununda yer alan hukuki ve cezai yaptırımlara tabi olurlar. Gidenler.Me, ilgili yasal işlem başlatma hakkına sahiptir. Gidenler.Me Blog'da yer alan tüm yazılar/makaleler bilgi edinme amacı ile sınırlı olup Gidenler.Me'den izin alınmaksızın değiştirilemez, çoğaltılamaz, yayımlanamaz, dağıtılamaz, umuma iletilemez, başka bir lisana çevrilemez.


Türkçe Çeviri: MyBB, Yazılım: MyBB, © 2002-2026 MyBB Group.
GM v3.0.0.8 Beta theme designed for MyBB