Kurulum, sanal ortam, ilk program; değişkenler ve tipler
numpy, pandas, matplotlib, django, fastapi vb.1991’den beri gelişiyor; güncel üretimde Python 3 ailesi kullanılır.
Bu derste çoğunlukla kendi bilgisayarınıza kurduğunuz Python’ı kullanacağız; sayfadaki canlı hücreler kısa denemeler içindir.
brew install pythonsudo apt install python3 python3-pipYaygın sorunlar
pip güncelleme: python -m pip install --upgrade pippython3/pip3Eklentiler (VS Code):
Projeye özel Python yorumlayıcısı ve paket seti barındıran, genelde .venv/ klasöründe tutulan bir çalışma alanıdır. Global Python kurulumundan izoledir; böylece her proje kendi bağımlılıklarını taşır.
which python ile görülür (Windows: where python)..venv/ proje kökünde dursun; .gitignore’a eklemeyi unutmayın.uv (Astral)uv run ve uvx ile ortamı etkinleştirmeden çalışabilirsiniz.uv AkışıOrtam oluşturma ve paket ekleme:
Kurulum, çalıştırma ve tek seferlik araçlar:
virtualenv
virtualenv venvsource venv/bin/activateconda
conda create -n ip python=3.12conda activate ip1) REPL (Read–Eval–Print Loop) / Etkileşimli Kabuk — yazdığınız her satırı Python hemen çalıştırır ve sonucu altına yazar.
2) Dosya olarak — kodu bir .py dosyasına yazıp yorumlayıcıya verirsiniz. Kabukta sonuç kendiliğinden görünür; dosyada yalnızca print() ile yazdırdığınız görünür.
3) Tarayıcıda canlı hücre — bu sayfadaki kod kutuları Python’ı tarayıcıda çalıştırır. Kodu değiştirip yeniden çalıştırabilirsiniz.
Python’da ayrı bir değişken bildirimi yoktur; atama, adı bir değere bağlar. Tür bilgisi değişken adında değil değerde durur. Temel tipler: int, float, str, bool.
Python’da yazım kuralları PEP 8 standartları ile belirlenmiştir.
_ karakterlerinden oluşabilir.isim ile Isim farklı değişkenlerdir).if, else, for, while, True, False).Anahtar kelimelerin listesi keyword.kwlist ile alınabilir; bir adın anahtar kelime olup olmadığını keyword.iskeyword() söyler.
x yerine age.küçük_harf_ve_alt_çizgi.+ - * / // % **== != > < >= <=not, and, or** → * / % // → + - → karşılaştırma → not → and → or/ her zaman float döndürür; // taban bölme, % kalan, ** üs.
Yorumlayıcı bir ifadeyi üç adımda değerlendirir:
3 + 2 * 8 + 4 ** 2 ifadesinin token’ları:
3, +, 2, *, 8, +, 4, **, 2
Amaç: yorumlayıcının sözcükleri tanıması (sayılar, operatörler, tanımlayıcılar).
3 + 2 * 8 + 4 ** 2 adımları:
4 ** 2 = 162 * 8 = 163 + 16 = 1919 + 16 = 35input() kullanıcının yazdığını her zaman str olarak döndürür. Sayısal işlem için açık dönüşüm gerekir.
Sayfadaki hücreler klavyeden girdi beklemez; kullanıcının yazacağı değeri bir değişkene sabit olarak veriyoruz:
type() ve isinstance() ile tür denetimi yapılabilir. int("abc") ya da int("3.5") bir ValueError verir: tür doğrudur ama metnin içeriği tamsayı değildir.
Yorum # ile başlar. Fonksiyonun ilk satırındaki üç tırnaklı metin docstring’dir; fonksiyonu belgeler.
Faydalar: okunabilirlik, bakım, hata ayıklama, otomatik belgeler.
küçük_harf_ve_alt_çizgirequirements.txt veya pyproject.toml ile kayıt altına alın.venv/) sabitleyin ve .gitignore’a ekleyinHer hücre için önce çıktıyı tahmin edin, sonra çalıştırıp tahmininizi kontrol edin.
__sayi1 geçerli bir değişken adı mıdır? Önce karar verin, sonra hücrede deneyin.
Cevaplar
"105" — string birleştirme3 — taban bölme<class 'str'> — string literaliSonuç: 30 — 25 + 2 + 3True — not > and > or__sayi1 geçerliHer soruda önce kendi cevabınızı seçin, sonra cevap anahtarındaki gerekçeleri okuyun; yanlış şıklar bu konuda gerçekten yapılan hatalardan seçildi.
<class 'int'><class 'object'>int, str<class 'str'>1510510 5TypeError"10" + "5"yas = input("Yaş: ") satırından sonra yas + 1 yazılırsa ne olur?
TypeError; input() str döndürür, önce int(yas) gerekirValueError1 eklenirinput() sayı için int döndürür3.5 3 1 83 3 1 83.5 3.5 1 63.5 4 1 83.5 3 0.5 8Sonuç: 30Sonuç: 29Sonuç: 54Sonuç: 27.0Sonuç: 33Santimetre cinsinden bir uzunluğu metreye çevirip 175 cm = 1.75 m biçiminde yazdıran kodu yazın. Değer bir string olarak geliyor (yerel ortamda input() ile alınacak).
uv..py dosyası, tarayıcıdaki canlı hücre.input() her zaman str; sayı gerekiyorsa int()/float()./ float, // taban bölme, % kalan, ** üs; öncelik: ** > * / // % > + -.#, fonksiyon/sınıf açıklaması docstring..py dosyası çalıştırır.type() ile sorgular ve dinamik tiplemeyi açıklar.input() ile alınan metni uygun sayısal türe çevirir.İleri Programlama – OMÜ | 🏠