0% found this document useful (0 votes)
52 views68 pages

Python Ile Programlamaya Giris

Uploaded by

Ali Emir Sisman
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views68 pages

Python Ile Programlamaya Giris

Uploaded by

Ali Emir Sisman
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

| 2

Yazar tarafından verilen eğitimler:


Yapay Öğrenme ve Veri Analizi
Veri Bilimine Giriş
Yapay Zeka ve Uygulamaları
Python ile Veri Analizine Giriş
Keras İle Derin Öğrenmeye Giriş
Makine Öğrenmesine Giriş
Python Programlama Dili
Python ile Programlama (Giriş, Orta, İleri)
Python ile Nesne Yönelimli Programlama
Python ile Soket Programlama
Matematikçiler için Python Programlama
Network Mühendisleri için Python
Python ile Database Programlama
Python ile DSP'ye Giriş
Python ile Yapay Zeka Uygulamaları
Python ile Fourier Dönüşümleri
Python | Flask ile Programlama
Python | Django ile Programlama
HTML5, JavaScript, CSS ile Web Programlama
HTML5 ile Web Tasarımı
HTML5, JavaScript ve CSS ile Mobile Programlama
PHP ve MySql İle Programlama
PHP'ye Giriş
PHP ve MySql ile Web Tasarımı
Lua Programlama
Lua ile Mobil Oyun Geliştirme
Mikrokontroller için Lua Programlama
Ağ Teknolojileri
MCNA Network | Yönlendirme | Ağ Anahtarlama
Huawei HCNA | HCNP
Cisco CCNA | CCNP
Network Fundamentals
Comptia Network+ | Cloud+
Siber Güvenlik
Comptia Security+
Ethical Hacking Eğitimleri (CEH)
Python ile Güvenlik Uygulamaları Geliştirme
Sistem Güvenliğine Giriş
İşletim Sistemleri
Linux (Mint, RedHat, Fedora, Kali, Debian, Ubuntu, SuSE)
Windows Servers

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 3

Python ile Programlamaya Giriş


Ver. 1.1 - 2024

Haluk Tanrıkulu
[Link]

Hızlı Başlangıç Kitapları - 1

MCNA | Pitonca
info@[Link] | 312 256 16 16
[Link] | [Link]

Ankara 2024

24 23 22 21 20 19 18 17 16 15 14 13 12 11

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 4

Python ile Programlamaya Giriş


Copyright © Haluk Tanrıkulu 2024

Tüm Hakları Saklıdır

Bu kitabın hiçbir bölümü,


fotokopi yoluyla veya herhangi bir elektronik veya mekanik araçla,
bilgi depolama veya alma sistemleri dahil olmak üzere,
hem telif hakkı sahibinden hem de bu kitabın yayıncısından yazılı izin alınmadan
çoğaltılamaz.

ISBN No: 978-625-00-2406-5

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 5

İçindekiler
1. Giriş

 Python'a kısa bir tanıtım


 Python'un tarihi ve popülerliği
 Python'un kurulum ve temel kurulum aşamaları (farklı işletim sistemlerinde)

2. Python'un Temel Yapısı

 Python dilinin genel yapısı


 İfadeler ve komutlar
 Python yorumlayıcısı ile çalışma

3. Değişkenler ve Veri Türleri

 Sayısal türler (int, float, complex)


 Metin (string) türü
 Boolean değerler
 Listeler, demetler (tuple), kümeler (set), ve sözlükler (dictionary)

4. Operatörler

 Aritmetik operatörler
 Karşılaştırma operatörleri
 Mantıksal operatörler
 Atama operatörleri
 Bit düzeyi operatörleri

5. Kontrol Yapıları

 Koşullu ifadeler (if-else)


 Döngüler (for, while)
 Break, continue ve pass komutları

6. Fonksiyonlar

 Fonksiyon tanımı ve çağrılması


 Parametreler ve varsayılan argümanlar
 Geri dönen değerler
 Lambda fonksiyonları

7. Hata Yönetimi

 Hata yakalama ve işleme (try-except)


 Özel hata mesajları oluşturma
 Hata yönetimi stratejileri

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 6

8. Dosya İşlemleri

 Dosya okuma ve yazma


 Dosya konumlama ve veri yönetimi
 JSON ve CSV formatları ile çalışma

9. Nesne Yönelimli Programlama (OOP)

 Sınıflar ve nesneler
 Yapıcılar (constructors) ve yok ediciler (destructors)
 Miras alma (inheritance) ve çok biçimlilik (polymorphism)
 Kapsülleme (encapsulation) ve soyutlama (abstraction)

10. Modüller ve Paketler

 Python standart kütüphaneleri


 Modül ve paket oluşturma
 Üçüncü parti kütüphaneler ile çalışma

11. İleri Python Konuları

 Jeneratörler ve iteratörler
 Dekoratörler ve bağlam yöneticileri
 List comprehension ve set/dictionary comprehension
 Regex (düzenli ifadeler)

12. Python'da Veri İşleme

 NumPy ile dizi işlemleri


 Pandas ile veri analizine giriş
 Matplotlib ile veri görselleştirme

13. Python Proje Örnekleri

 Basit bir hesap makinesi uygulaması


 Dosya yönetimi otomasyonu
 Veri işleme ve görselleştirme uygulamaları

14. Sonuç ve İleriye Yönelik Adımlar

 Python'un geleceği ve trendler


 İleri düzey Python ve diğer diller ile entegrasyon

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 7

1. Giriş
Python'ın Kısa Bir Tanıtımı
Python, 1991 yılında Guido van Rossum tarafından geliştirilen, yüksek seviyeli,
genel amaçlı ve yorumlayıcı bir
programlama dilidir. Python, temiz ve
okunabilir bir sözdizimine sahip olmasıyla
dikkat çeker ve yazılımcıların karmaşık
işlemleri basit ve anlaşılır bir şekilde
gerçekleştirmelerine olanak tanır.
Python’un kullanımı çok geniş bir alana
yayılmıştır ve günümüzde web geliştirme,
veri bilimi, yapay zeka, otomasyon, bilimsel
hesaplamalar, oyun geliştirme gibi birçok
alanda tercih edilmektedir.

Python’un en büyük avantajlarından biri,


geniş kütüphane ve paket desteğidir. Bu
sayede kullanıcılar, temel fonksiyonları
kullanarak hızlıca yazılım geliştirebilir ve
spesifik projeler için hazır kütüphaneler ile
çözümler oluşturabilirler.

Kaynak: [Link]

Python'un Tarihi ve Popülerliği


Python’un kökeni, 1980’lerin sonlarına dayanmaktadır ve ABC programlama
diline dayanır. Guido van Rossum, Python’u geliştirirken özellikle dilin basit,
anlaşılır ve öğrenmesi kolay olmasına odaklanmıştır. Python’un ismi, van
Rossum’un hayranı olduğu İngiliz komedi grubu Monty Python'dan gelmektedir.

Python'un popülerliği yıllar içinde büyük ölçüde artmış ve özellikle şu nedenlerle


yaygın bir şekilde benimsenmiştir:

 Kolay öğrenilir: Python’un açık ve anlaşılır sözdizimi, onu


programlamaya yeni başlayanlar için ideal bir dil haline getirir.
 Esneklik ve çok yönlülük: Python, bilimsel araştırmalardan web
geliştirmeye, veri analizinden oyun tasarımına kadar çok çeşitli alanlarda
kullanılabilir.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 8

 Büyük topluluk ve geniş kütüphaneler: Python kullanıcılarının


oluşturduğu geniş topluluk sayesinde, herhangi bir sorun karşısında destek
bulmak kolaydır ve hazır kütüphaneler ile yazılım geliştirme süreci
hızlanır.
 Platform bağımsızlığı: Python, Windows, macOS ve Linux gibi çeşitli
işletim sistemlerinde çalışabilir, bu da kullanıcıların Python ile yazılmış
programları farklı platformlarda kullanmasına olanak tanır.

Son yıllarda Python, özellikle veri bilimi, makine öğrenmesi ve yapay zeka
alanlarında çok yaygın olarak kullanılmaktadır. Python’un kütüphaneleri (örneğin
Pandas, NumPy, TensorFlow) bu alanlarda güçlü bir temel sağlar.

Python'un Kurulum ve Temel Kurulum Aşamaları (Farklı


İşletim Sistemlerinde)
Python kurulumu, oldukça basit ve farklı işletim sistemlerine göre değişiklik
gösterir. Aşağıda, Windows, macOS ve Linux için temel kurulum adımları
bulunmaktadır:

Windows Üzerinde Python Kurulumu:


1. Python İndir: [Link] adresine giderek en son sürümü indir.

1. Yükleme: İndirilen .exe dosyasını çalıştır. Yükleme ekranında "Add


Python to PATH" seçeneğini işaretle. Bu, Python'un komut satırında
çalıştırılmasını sağlar.
2. Kurulumu Tamamla: Yükleme tamamlandıktan sonra Command
Prompt'u aç ve Python sürümünü doğrulamak için şu komutu çalıştır:

python –version

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 9

Python sürüm numarası yukarıdaki gibi görünmelidir.

Dikkat! Bilgisayarınızın 32 bit mi 64 bit mi olduğunu önceden bilmeli ve


Python’ı ona göre indirmelisiniz.

macOS Üzerinde Python Kurulumu:


1. Python İndir: [Link] adresinden macOS için uygun Python sürümünü
indir.
2. Homebrew Kullanarak Yükleme: macOS kullanıcıları Python'u
Homebrew ile de yükleyebilir. Homebrew kurulu değilse, Terminal'de şu
komut ile yüklenir:
/bin/bash -c "$(curl -fsSL
[Link]
[Link])"
Ardından Python'u yüklemek için şu komut kullanılır:
brew install python

Kurulumun Doğrulanması: Python’un yüklendiğinden emin olmak için


terminalde şu komutu çalıştır:
python3 –version

Linux Üzerinde Python Kurulumu:


1. Depo Üzerinden Yükleme: Çoğu Linux dağıtımı Python ile birlikte gelir,
ancak güncellemek veya kurmak gerekirse terminale şu komutu gir:

sudo apt-get update


2. Python'un Doğrulanması: Kurulum tamamlandıktan sonra Python
sudo apt-get install python3

sürümünü doğrulamak için terminalde şu komut çalıştırılır:

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 10

python3 --version
sudo apt-get install python3

Kurulum tamamlandıktan sonra, tüm işletim sistemlerinde Python kodlarını


yazmak ve çalıştırmak için bir IDE (Entegre Geliştirme Ortamı) kullanmak
faydalı olacaktır. IDLE, PyCharm, VS Code, ve Jupyter Notebook en yaygın
kullanılan IDE'ler arasındadır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 11

2. Python'un Temel Yapısı


Python Dilinin Genel Yapısı
Python, yüksek seviyeli ve yorumlanan bir programlama dilidir. Okunaklılığı
artıran girintileme (indentation) yapısı ile diğer birçok programlama dilinden
ayrılır. Python'da kod blokları, girintilerle ayrılır ve bu yapı, diğer dillerde olduğu
gibi süslü parantezlerle yapılmaz. Girintiler, okunabilirliği artırmakla birlikte
hatasız çalışmayı zorunlu hale getirir. Python'un genel yapısı şu temel özelliklere
dayanır:

 Yorum satırları: Python'da yorumlar, kodun anlaşılmasını kolaylaştırır


ve # karakteri ile başlar. Yorumlar çalıştırılmaz.
# Bu bir yorum satırıdır
sudo apt-get install python3

 Girintileme: Python’da kod blokları, 4 boşluk veya 1 tab girintisi ile


oluşturulur. Bu yapının temel amacı, kodu daha okunabilir hale
getirmektir.

if 3 > 2:
print("3, 2'den büyüktür.")
python3

 Değişken tanımlama: Python’da değişkenler doğrudan tanımlanır ve tür


belirtilmez. Python, değişkenin türünü dinamik olarak belirler.

sayi = 10
metin = "Merhaba"
python3

 Sıra bağımsızlığı: Python’da sözdizimi, okunabilirliği ön plana çıkarır.


Örneğin, satır sonlarına noktalı virgül koymak zorunlu değildir.

İfadeler ve Komutlar
İfade (expression) ve komut (statement) Python’un temel yapı taşlarındandır.

 İfadeler: Bir ya da daha fazla değer üzerinde işlem yaparak bir sonuç
döndüren yapılardır. Python'da aritmetik, mantıksal veya karşılaştırma
işlemleri ifade olarak kabul edilir.

5 + 3 # Bu bir ifadedir
10 > 7 # Bu da bir ifadedir
python3

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 12

 Komutlar: Programın belirli bir işlem yapmasını sağlayan kod


parçalarıdır. Python'da atama işlemleri, döngüler, koşullu ifadeler birer
komuttur.
sayi = 5 # Atama işlemi bir komuttur
if sayi > 3:
print("Sayı 3'ten büyüktür.") # Koşullu ifade

komutudur

Python Yorumlayıcısı ile Çalışma


Python’da kodlar bir yorumlayıcı (interpreter) tarafından satır satır
çalıştırılır. Python kodları, derlenmeden direkt olarak Python yorumlayıcısı
tarafından yürütülür, bu da hızlı geliştirme ve test yapmayı kolaylaştırır. Python
yorumlayıcısı ile çalışma şekilleri şu şekildedir:

 Komut Satırı Üzerinden Python Çalıştırma: Python, terminal veya


komut satırında doğrudan çalıştırılabilir. Yorumlayıcıyı başlatmak için
komut satırında python veya python3 komutunu yazmak yeterlidir.
Yorumlayıcıya geçildiğinde doğrudan komutlar yazılıp çalıştırılabilir.

 Python Betik Dosyası (Script) Çalıştırma: Daha büyük projelerde Python


kodlarını bir dosyaya (örneğin, [Link]) yazıp bu dosyayı
çalıştırmak yaygın bir yöntemdir. Betik dosyaları komut satırında aşağıdaki
gibi çalıştırılabilir:

C:\Users\HATTF>python [Link]

 Python Shell (IDLE): Python'un kendi IDLE (Integrated Development


and Learning Environment) aracı ile interaktif olarak Python kodlarını
çalıştırmak mümkündür. IDLE, Python ile birlikte gelen basit bir geliştirme
ortamıdır. Komutlar anında işlenir ve çıktılar hemen görüntülenir. IDLE
aracına işletim sistemini arama kısmına IDLE yazarak ulaşılır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 13

 Python IDE'leri ile Çalışma: Python programlarını geliştirmek ve


çalıştırmak için IDE’ler (PyCharm, Visual Studio Code vb.) kullanılabilir.
Bu ortamlar, kodu yazarken otomatik tamamlama, hata ayıklama ve proje
yönetimi gibi birçok avantaj sağlar.

Yorumlayıcı ile çalışmanın avantajı, kodların hızlı bir şekilde test edilebilmesi ve
geliştirilme sürecinin esnek olmasıdır. Python, geliştirme sırasında hataları hızlıca
tespit etmek ve gidermek için idealdir çünkü yorumlayıcı anında geri bildirim
sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 14

3. Değişkenler ve Veri Türleri

Kaynak : [Link]

Python’da değişkenler, herhangi bir veri tipine sahip olabilir ve tür belirtmeden
tanımlanabilir. Python, dinamik tip kontrolüne sahip bir dildir, bu nedenle bir
değişkenin türü, atanan değere göre belirlenir.

Sayısal Türler (int, float, complex)


Python’da üç temel sayısal veri türü bulunmaktadır: Tam, ondalıklı ve karmaşık
sayılar.

1. int (integer): Tam sayı değerlerini ifade eder.


o Örnekler: 5, -3, 1000

sayi = 10
print(type(sayi)) # <class 'int'>
python3
2. float: Ondalıklı sayı değerlerini ifade eder.
o Örnekler: 3.14, -0.001, 2.0

pi = 3.14
print(type(pi)) # <class 'float'>
python3
3. complex: Karmaşık sayıları temsil eder. Gerçek ve sanal kısmı olan sayılar
j harfi ile belirtilir.
o Örnekler: 2+3j, -1.5+0j

karmaşık_sayi = 2 + 3j
print(type(karmaşık_sayi)) # <class 'complex'>
python3

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 15

Python, bu üç sayısal tür arasında otomatik dönüştürme yapabilir. Örneğin, bir


tam sayıyı ondalıklı bir sayıyla topladığınızda sonuç float olacaktır.

Metin (String) Türü


Python’da string türü, metin verilerini temsil eder. Stringler, çift tırnak " ya da
tek tırnak ' ile tanımlanabilir.

 Örnekler: "Merhaba Dünya", 'Python Programlama'

Metinlerle (Stringlerle) ilgili yaygın işlemler:

 Birleştirme (Concatenation): İki string’i + operatörü ile


birleştirebilirsiniz.
metin1 = "Merhaba"
metin2 = "Dünya"
sonuc = metin1 + " " + metin2 # 'Merhaba Dünya'

 Dilimeleme (Slicing): String üzerinde belirli bir kısmı alabilirsiniz.

isim = "Python"
print(isim[0:3]) # 'Pyt'

 String Metotları: upper(), lower(), replace() gibi çeşitli string


metotları mevcuttur.

metin = "Python"
print([Link]()) # 'PYTHON'

Boolean Değerler
Python'da Boolean veri türü, yalnızca iki değer alabilir: True (doğru) veya
False (yanlış). Boolean değerler, çoğunlukla koşullu ifadeler ve döngülerde
kullanılır.

 Örnekler: True, False

Boolean değerler, mantıksal operatörlerle birlikte kullanıldığında oldukça


güçlüdür:

 Karşılaştırma operatörleri: ==, !=, >, <, >=, <=


 Mantıksal operatörler: and, or, not

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 16

a = 5
b = 3
sonuc = (a > b) # True

Listeler, Demetler (Tuple), Kümeler (Set) ve Sözlükler


(Dictionary)
Bu veri yapılarını Python’da koleksiyon veri türleri olarak adlandırabiliriz. Her
biri, birden fazla değeri depolamak için kullanılır, ancak yapı ve kullanım
biçimleri farklıdır.

1. Listeler (List): Sıralı,


değiştirilebilir (mutable) ve
birden fazla veri türünü
depolayabilen veri
yapılarıdır. Liste
elemanlarına indeks ile
ulaşılır ve liste elemanları
değiştirilebilir.
o Örnek: [1, 2, 3,
"Python", 3.14]

Kaynak : DALL-E ile oluşturuldu.

liste = [1, 2, 3]
[Link](4) # Listeye 4 elemanını ekler
print(liste) # [1, 2, 3, 4]

2. Demetler (Tuple): Listelere benzer, ancak değiştirilemez (immutable)


yapılardır. Bir kez tanımlandıktan sonra elemanları değiştirilemez.
o Örnek: (1, 2, 3, "Python", 3.14)

demet = (1, 2, 3)
print(demet[0]) # 1
# demet[0] = 10
# Bu hata verecektir, çünkü demetler değiştirilemez

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 17

3. Kümeler (Set): Sırasız ve tekrarsız elemanlardan oluşan bir koleksiyon


yapısıdır. Aynı eleman kümede birden fazla kez yer alamaz.
o Örnek: {1, 2, 3, 3, 4} -> {1, 2, 3, 4}

kume = {1, 2, 3, 4}
[Link](5) # Kümeye 5 elemanını ekler
print(kume) # {1, 2, 3, 4, 5}

4. Sözlükler (Dictionary): Anahtar-değer çiftlerinden oluşan bir veri


yapısıdır. Anahtarlar benzersiz olmalıdır ve her anahtar bir değere işaret
eder.
o Örnek: {"ad": "Ahmet", "yas": 25, "meslek":
"Mühendis"}
sozluk = {"isim": "Python", "sürüm": 3.10}
print(sozluk["isim"]) # 'Python'
sozluk["sürüm"] = 3.11 # Sürüm güncellenebilir

Bu veri türleri, Python’un esnekliğini ve kullanım kolaylığını artırarak çeşitli veri


yapılarını etkin bir şekilde yönetmenizi sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 18

4. Operatörler
Python'da operatörler, değişkenler ve değerler üzerinde işlem yapmanızı sağlar.
Çeşitli operatör kategorileri bulunur ve her biri belirli türde işlemler
gerçekleştirmek için kullanılır.

Aritmetik Operatörler
Aritmetik operatörler, Python
programlama dilinde sayısal
veri türleri üzerinde temel
matematiksel işlemleri
gerçekleştirmek için kullanılır.
Bu operatörler, sayılar üzerinde
toplama, çıkarma, çarpma,
bölme gibi işlemleri yapmamızı
sağlayan temel araçlardır.
Python, bu işlemleri çok hızlı
ve verimli bir şekilde
gerçekleştirebilecek şekilde
optimize edilmiştir.

Python'da yedi temel aritmetik


operatör bulunmaktadır:

Kaynak : DALL-E ile oluşturuldu.

1. Toplama (+): İki veya daha fazla sayıyı toplamak için kullanılır.
o Örnek: 5 + 3 → Sonuç: 8
2. Çıkarma (-): Bir sayıdan başka bir sayıyı çıkarmak için kullanılır.
o Örnek: 10 - 4 → Sonuç: 6
3. Çarpma (*): İki sayıyı çarpar.
o Örnek: 7 * 2 → Sonuç: 14
4. Bölme (/): Bir sayıyı başka bir sayıya böler. Sonuç her zaman bir float
(ondalık) veri türü döner.
o Örnek: 8 / 2 → Sonuç: 4.0
5. Modulus (%): Bir sayının başka bir sayıya bölümünden kalanı verir.
Genellikle sayının çift veya tek olup olmadığını kontrol etmek veya
döngülerde sayma işlemlerini gerçekleştirmek için kullanılır.
o Örnek: 10 % 3 → Sonuç: 1
6. Üs Alma (**): Bir sayının başka bir sayıyla üs alınmasını sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 19

o Örnek: 2 ** 3 → Sonuç: 8
7. Tam Bölme (//): Bölme işlemi yapar ancak sonucu tam sayı olarak döner,
ondalık kısmı atar.
o Örnek: 7 // 2 → Sonuç: 3

Bu operatörler, Python'un temel matematiksel işlemleri gerçekleştirmek için


sunduğu güçlü araçlardır. Özellikle veri analizi, finansal hesaplamalar veya
bilimsel çalışmalar gibi alanlarda sıklıkla kullanılır. Python, matematiksel
işlemleri kolay ve anlaşılır bir şekilde yapmamıza olanak tanıyan esnek bir dil
olduğu için, aritmetik operatörler programlamanın her aşamasında önemli bir rol
oynar.

a = 5
b = 3
print(a + b) # 8
print(a // b) # 1
print(a ** b) # 125

Karşılaştırma Operatörleri
Karşılaştırma operatörleri, Python programlama dilinde iki değeri karşılaştırarak
sonucunda bir boolean değeri döndürür: True (doğru) ya da False (yanlış). Bu
operatörler, genellikle koşullu ifadelerde, döngülerde veya karar yapılarında
kullanılır. Karşılaştırma operatörleri, programların mantıksal yapısını
oluştururken ve belirli koşullara göre işlem yaparken kritik bir rol oynar.
Python'da kullanılan temel karşılaştırma operatörleri şunlardır:

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 20

1. Eşittir (==): İki değerin eşit olup olmadığını kontrol eder.


o Örnek: 5 == 5 → Sonuç: True
o Kullanım Alanı: İki değerin aynı olup olmadığını kontrol etmek için
sıklıkla kullanılır. Özellikle karar yapılarında (if-else yapılarında)
önemli bir rol oynar.
2. Eşit Değil (!=): İki değerin eşit olup olmadığını kontrol eder ve eşit
olmadığında True döner.
o Örnek: 5 != 3 → Sonuç: True
o Kullanım Alanı: Bir koşulun yanlış olup olmadığını kontrol etmek
veya iki değerin farklı olup olmadığını anlamak için kullanılır.
3. Büyüktür (>): Sol taraftaki değerin, sağdaki değerden büyük olup
olmadığını kontrol eder.
o Örnek: 7 > 3 → Sonuç: True
o Kullanım Alanı: Özellikle sayısal karşılaştırmalarda, bir değerin
diğerinden büyük olduğunu test etmek için kullanılır.
4. Küçüktür (<): Sol taraftaki değerin, sağdaki değerden küçük olup
olmadığını kontrol eder.
o Örnek: 3 < 5 → Sonuç: True
o Kullanım Alanı: Genellikle sıralama ve karşılaştırma işlemlerinde
kullanılır.
5. Büyük Eşittir (>=): Sol taraftaki değerin, sağdaki değere eşit ya da ondan
büyük olup olmadığını kontrol eder.
o Örnek: 6 >= 6 → Sonuç: True
o Kullanım Alanı: Bir değerin, diğerine eşit ya da büyük olup
olmadığını belirlemek için kullanılır. Finansal hesaplamalar, yaş
sınırlamaları gibi durumlarda faydalıdır.
6. Küçük Eşittir (<=): Sol taraftaki değerin, sağdaki değere eşit ya da ondan
küçük olup olmadığını kontrol eder.
o Örnek: 4 <= 5 → Sonuç: True
o Kullanım Alanı: Bir değerin, diğerine eşit ya da ondan küçük
olduğunu kontrol etmek için kullanılır. İstatistiksel analizlerde veya
veri sıralamalarında işe yarar.

Bu operatörler, genellikle koşullu ifadelerde yer alır ve bir koşulun sonucuna göre
programın akışını belirler. Örneğin, if yapılarıyla kullanılarak belirli bir koşul

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 21

sağlandığında bir işlemin yapılmasını sağlar. Ayrıca döngülerde de bu operatörler


sayesinde belirli bir sayıya ulaşana kadar tekrar eden işlemler oluşturulabilir.

Python'da karşılaştırma operatörlerinin doğru kullanımı, programın mantıksal


yapısının sağlam ve esnek olmasını sağlar. Bu operatörler, yalnızca sayılarla
değil, aynı zamanda string ve diğer veri türleriyle de kullanılabilir. Karşılaştırma
operatörleri, yazılımcılara programları üzerinde hassas ve esnek kontrol olanağı
sunarak, karar verme mekanizmalarının temel yapı taşını oluşturur.

x = 10
y = 5
print(x > y) # True
print(x == y) # False

Mantıksal Operatörler
Mantıksal operatörler, Python programlama dilinde boolean ifadeleri üzerinde
işlem yaparak, birden fazla koşulun aynı anda değerlendirilmesine olanak tanır.
Bu operatörler genellikle koşullu ifadeler (if, elif, else) ve döngülerde
kullanılarak, programların belirli koşullara göre kararlar almasını sağlar.
Mantıksal operatörler, birden fazla karşılaştırma operatörünü veya boolean
değerini birleştirerek, daha karmaşık karar yapılarına imkan tanır.

Python'da üç temel mantıksal operatör vardır:

1. veya (or): İki koşuldan en az birinin doğru olması durumunda True


döner. Her iki koşul da yanlışsa False döner.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 22

o Örnek: (5 > 3) or (2 > 6) → Sonuç: True


o Kullanım Alanı: Özellikle birden fazla koşulun söz konusu olduğu
durumlarda kullanılır. Örneğin, bir kullanıcı ya yaşına ya da üyelik
süresine göre bir işlem yapabiliyorsa, or operatörü ile bu koşullar
birleştirilir.
2. ve (and): İki koşulun da doğru olması durumunda True döner. Eğer
herhangi bir koşul yanlışsa, sonuç False olur.
o Örnek: (5 > 3) and (10 > 6) → Sonuç: True
o Kullanım Alanı: Birden fazla koşulun aynı anda sağlanması gerektiği
durumlarda kullanılır. Örneğin, bir işlem yalnızca hem yaş hem de
üyelik durumu uygun olan kullanıcılara yapılacaksa and operatörü
tercih edilir.
3. değil (not): Bir koşulun tersini alır. Yani, bir koşul True ise False,
False ise True döner.
o Örnek: not (5 > 3) → Sonuç: False
o Kullanım Alanı: Belirli bir koşulun gerçekleşmemesi gerektiğinde
kullanılır. Örneğin, bir işlemin yalnızca bir koşulun yanlış olduğu
durumda yapılmasını istiyorsanız, not operatörü ile bu durumu
kontrol edebilirsiniz.

Bu operatörler, Python'daki koşullu ifadelerde ve döngülerde sıkça kullanılır.


Örneğin, bir if-else yapısında birden fazla koşulun birlikte değerlendirilmesi
gerektiğinde mantıksal operatörler kullanılarak programın akışını
yönetebilirsiniz. and, or, ve not operatörleri, özellikle büyük ve karmaşık
projelerde koşul sayısı arttıkça programın mantıksal kontrolünü sağlamlaştırmak
için önemli bir araçtır.

Mantıksal operatörler, yalnızca karşılaştırma ifadeleri ile değil, aynı zamanda


boolean değerler ile de kullanılabilir. Bir boolean ifadenin True veya False
olup olmadığını kontrol etmek veya birden fazla koşulu aynı anda test etmek,
programların davranışlarını kontrol etmek açısından kritik öneme sahiptir.
Örneğin, bir kullanıcının sisteme giriş yapabilmesi için hem doğru kullanıcı adı
hem de doğru şifre girmesi gerektiğinde and operatörü, veya giriş yapmaması
için en az bir bilginin eksik olması gerektiğinde or operatörü kullanılır.

Bu operatörlerin doğru ve etkili kullanımı, Python programlarınızın mantıksal


yapısını daha güçlü ve esnek hale getirir, böylece karmaşık koşulları kolaylıkla
yönetmenizi sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 23

a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False

Atama Operatörleri
Atama operatörleri, Python programlama dilinde bir değişkene değer atamak için
kullanılır. Temel olarak, bir değişkenin belirli bir değeri temsil etmesini sağlamak
için kullanılırlar. Atama operatörleri, yalnızca bir değerin doğrudan atanmasını
sağlamakla kalmaz, aynı zamanda işlem yaparak da atama işlemini
gerçekleştirebilir. Bu operatörler, değişkenler üzerinde matematiksel, mantıksal
ya da diğer işlemleri kolayca uygulamamıza imkan tanır.

Python'da sıkça kullanılan atama operatörleri şunlardır:

1. Temel Atama (=): Bu operatör, sağdaki değeri sol taraftaki değişkene atar.
En basit ve yaygın kullanılan atama operatörüdür.
o Örnek: x = 5 → Bu işlem, x değişkenine 5 değerini atar.
o Kullanım Alanı: Değişkenlere değer atarken, temel atama işlemi
kullanılır. Yeni bir değişken tanımlamak veya var olan bir
değişkenin değerini güncellemek için idealdir.
2. Toplama ve Atama (+=): Sağ taraftaki değeri, sol taraftaki değişkene ekler
ve sonucu yine aynı değişkene atar.
o Örnek: x += 3 → Bu işlem, x = x + 3 ile aynıdır. Eğer x
başlangıçta 5 ise, işlemden sonra x 8 olacaktır.
o Kullanım Alanı: Döngülerde sayaçları artırmak veya bir değişkenin
mevcut değerini dinamik olarak artırmak için kullanılır.
3. Çıkarma ve Atama (-=): Sağ taraftaki değeri, sol taraftaki değişkenden
çıkarır ve sonucu yine aynı değişkene atar.
o Örnek: x -= 2 → Bu işlem, x = x - 2 ile aynıdır. Eğer x
başlangıçta 10 ise, işlemden sonra x 8 olacaktır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 24

o Kullanım Alanı: Bir değişkenin değerini belirli bir miktar azaltmak


gerektiğinde kullanılır. Döngülerde veya koşullu ifadelerde sıklıkla
kullanılır.
4. Çarpma ve Atama (*=): Sağ taraftaki değeri, sol taraftaki değişkenle
çarpar ve sonucu yine aynı değişkene atar.
o Örnek: x *= 4 → Bu işlem, x = x * 4 ile aynıdır. Eğer x
başlangıçta 3 ise, işlemden sonra x 12 olacaktır.
o Kullanım Alanı: Matematiksel işlemler yaparken bir değeri dinamik
olarak artırmak veya çarpmak için kullanılır.
5. Bölme ve Atama (/=): Sağ taraftaki değeri, sol taraftaki değişkene böler
ve sonucu yine aynı değişkene atar.
o Örnek: x /= 2 → Bu işlem, x = x / 2 ile aynıdır. Eğer x
başlangıçta 10 ise, işlemden sonra x 5 olacaktır.
o Kullanım Alanı: Finansal hesaplamalarda veya bir değeri orantılı
olarak azaltmak gereken durumlarda kullanılır.
6. Modulus ve Atama (%=): Sol taraftaki değişkeni, sağ taraftaki değere böler
ve kalanını aynı değişkene atar.
o Örnek: x %= 3 → Bu işlem, x = x % 3 ile aynıdır. Eğer x
başlangıçta 10 ise, işlemden sonra x 1 olacaktır.
o Kullanım Alanı: Döngüsel işlemler, saat hesaplamaları veya belirli
bir aralığa düşen değerlerle çalışırken kullanılır.
7. Üs Alma ve Atama (**=): Sağ taraftaki değeri, sol taraftaki değişkenin
üstü olarak alır ve sonucu yine aynı değişkene atar.
o Örnek: x **= 2 → Bu işlem, x = x ** 2 ile aynıdır. Eğer x
başlangıçta 4 ise, işlemden sonra x 16 olacaktır.
o Kullanım Alanı: Matematiksel hesaplamalarda, özellikle üstel
büyüme veya güç hesaplamalarında kullanılır.
8. Tam Bölme ve Atama (//=): Sol taraftaki değişkeni, sağ taraftaki değere
böler ve sonucu tam sayı olarak aynı değişkene atar.
o Örnek: x //= 3 → Bu işlem, x = x // 3 ile aynıdır. Eğer x
başlangıçta 10 ise, işlemden sonra x 3 olacaktır.
o Kullanım Alanı: Kesirli sonuçlar yerine tam sayı sonuçları gerektiren
durumlarda, döngülerde ve sayıların tam bölünmesi gerektiğinde
kullanılır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 25

Atama operatörleri, programlama dünyasında değişkenlerin dinamik olarak


yönetilmesi ve güncellenmesi için önemli bir rol oynar. Python’un bu geniş atama
operatörleri yelpazesi, geliştiricilerin kodlarını daha kısa ve etkili bir şekilde
yazmalarını sağlar. Ayrıca, işlem yaparak atama operatörlerinin kullanımı, büyük
projelerde kodu daha temiz ve okunabilir hale getirir.

Aşağıdaki tabloda özet şeklinde atama operatörleri verilmiştir.

x = 10
x += 5 # x = x + 5 → x 15 olur
x //= 3 # x = x // 3 → x 5 olur
print(x) # 5

Bit Düzeyi Operatörleri


Bit düzeyi operatörleri, sayısal veriler üzerinde doğrudan bit seviyesinde işlem
yaparak, sayıları en temel bileşenlerine kadar manipüle etme imkanı sunar. Bu
operatörler, sayıları ikili sistemde (binary) temsil eder ve her bir bit üzerinde işlem
gerçekleştirir. Genellikle düşük seviyeli programlama, sistem programlama,
donanım sürücüleri ve verimli veri manipülasyonu gerektiren uygulamalarda
tercih edilir. Bit düzeyi operatörleri, daha fazla kontrol ve performans avantajı
sağladığı için yerleşik sistemler, sinyal işleme ve ağ programlama gibi alanlarda
yaygın olarak kullanılır.

Python'da kullanılan temel bit düzeyi operatörler şunlardır:

1. Ve (&): İki sayının karşılık gelen bitlerini karşılaştırarak her iki bit de 1 ise
1, aksi takdirde 0 döner.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 26

o Örnek: 5 & 3 → Sonuç: 1 (İkili sistemde: 0101 & 0011 =


0001)
o Kullanım Alanı: Belli bitleri maskelemek, bit dizilerini filtrelemek
ya da belirli bir bitin açık olup olmadığını kontrol etmek için
kullanılır.
2. Veya (|): İki sayının karşılık gelen bitlerinden en az biri 1 ise 1, her ikisi
de 0 ise 0 döner.
o Örnek: 5 | 3 → Sonuç: 7 (İkili sistemde: 0101 | 0011 =
0111)
o Kullanım Alanı: Birleştirilen bitleri belirlemek veya bit seti
oluşturmak için kullanılır.
3. Özel Veya (^): İki sayının karşılık gelen bitleri farklıysa 1, aynıysa 0
döner.
o Örnek: 5 ^ 3 → Sonuç: 6 (İkili sistemde: 0101 ^ 0011 =
0110)
o Kullanım Alanı: İki veri arasında farklı bitleri bulmak veya belirli bir
bitin değerini tersine çevirmek için kullanılır.
4. Değil (~): Tek bir sayının bitlerini ters çevirir, yani 1 olan bitleri 0, 0 olan
bitleri 1 yapar.
o Örnek: ~5 → Sonuç: -6 (İkili sistemde: ~0101 = 1010,
Python'un işaretli tam sayı gösteriminden dolayı sonuç -6 olur.)
o Kullanım Alanı: Bir sayının tüm bitlerini tersine çevirmek için
kullanılır, genellikle negatif sayı hesaplamalarında veya bit
seviyesinde ters işlem yapılması gerektiğinde kullanılır.
5. Sol Kaydırma (<<): Bir sayının bitlerini belirtilen sayı kadar sola kaydırır
ve sağa sıfır ekler. Her bir kaydırma, sayıyı 2 ile çarpmak anlamına gelir.
o Örnek: 5 << 1 → Sonuç: 10 (İkili sistemde: 0101 << 1 =
1010)
o Kullanım Alanı: Sayıları hızlıca 2'nin katlarıyla çarpmak, belirli
bitlerin sol tarafa kaydırılması gerektiğinde kullanılır. Özellikle
grafik işlemede ve veri paketlerinin işlenmesinde önemlidir.
6. Sağ Kaydırma (>>): Bir sayının bitlerini belirtilen sayı kadar sağa kaydırır
ve sola işaret biti ekler. Her bir kaydırma, sayıyı 2'ye bölmek anlamına
gelir.
o Örnek: 5 >> 1 → Sonuç: 2 (İkili sistemde: 0101 >> 1 = 0010)

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 27

o Kullanım Alanı: Sayıları hızlıca 2'nin katlarına bölmek veya veri


sıkıştırma ve şifreleme işlemlerinde kullanılır.

Bu operatörler, Python’da doğrudan ikili sistemde çalışmayı sağlar ve daha düşük


seviyeli programlama dillerinde yaygın olarak kullanılsa da, Python’un esnekliği
sayesinde yüksek seviyeli programlarda da etkili bir şekilde kullanılabilir. Bit
düzeyi operatörlerin kullanımı, belleği verimli yönetmek, optimize edilmiş
algoritmalar yazmak veya donanım ile direkt etkileşime geçmek isteyen
geliştiricilere büyük avantajlar sunar.

Bit manipülasyonu işlemleri, özellikle performans kritik sistemlerde, veri


paketlerinin işlenmesinde veya şifreleme gibi alanlarda yaygın olarak kullanılır.
Bu operatörler, veri sıkıştırma, hata kontrolü ve algoritmaların hızlandırılması
gibi uygulamalarda etkin bir rol oynar. Python'daki bit düzeyi operatörler, hem
esneklik hem de performans açısından güçlü bir araç sunarak, yazılımcılara veri
manipülasyonu üzerinde daha fazla kontrol sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 28

Bu operatörler, Python'daki temel işlemler için geniş bir yelpaze sunar ve her biri
farklı veri tipleri ve işlemlerle kullanılabilir.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 29

5. Kontrol Yapıları
Python'da kontrol yapıları, kodun akışını belirlemek ve mantıksal kararlar almak
için kullanılır. Bu yapılar, kodun belirli koşullar altında çalışmasını veya
döngüler yardımıyla tekrarlanmasını sağlar.

Koşullu İfadeler (if-else)


Koşullu ifadeler ile bir durumun doğru olup olmadığını kontrol ederek belirli
bir kod bloğunu çalıştırabilirsiniz. Python'da koşullu ifadeler genellikle if,
elif ve else yapıları ile kullanılır.

 if: Bir koşul doğruysa bu bloğu çalıştırır.


 elif: Eğer if koşulu yanlışsa, ek bir koşul tanımlayarak kontrol yapar.
 else: Hiçbir koşul sağlanmazsa bu bloğu çalıştırır.

Örnek:
x = 10

if x > 0:
print("Pozitif bir sayı")
elif x == 0:
print("Sayı sıfır")
else:
print("Negatif bir sayı")

Bu örnekte x değişkeninin değeri 10 olduğu için, "Pozitif bir sayı" çıktısını


alırız.

Girintileme (Indentation):

Python’da blok yapıları girintilerle belirlenir. Bir koşul veya döngü sonrası
çalışacak kod bloğu 4 boşluk veya 1 tab girintisi ile yazılmalıdır. Aksi takdirde
IndentationError alırsınız.

Döngüler (for, while)


Döngüler, bir işlemi birden fazla kez tekrarlamak için kullanılır. Python'da iki
temel döngü yapısı vardır: for ve while döngüleri.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 30

1. for Döngüsü
for döngüsü, bir koleksiyon (liste, tuple, string gibi) üzerinde tekrarlama
yapar. Her bir eleman sırasıyla işlenir.

Örnek:
meyveler = ["elma", "armut", "kiraz"]

for meyve in meyveler:


print(meyve)

Bu örnekte, meyveler listesindeki her bir öğe döngüde meyve


değişkenine atanarak ekrana yazdırılır.

2. while Döngüsü
while döngüsü, belirtilen bir koşul doğru olduğu sürece döngüyü devam
ettirir. Eğer koşul yanlış olduğunda döngü sonlanır.

Örnek:
x = 5

while x > 0:
print(x)
x -= 1 # Her döngüde x'i 1 azalt

Bu örnekte, x değeri 5'ten başlayarak her döngüde 1 azaltılır ve sıfıra


ulaşana kadar ekrana yazdırılır.

Break, Continue ve Pass Komutları


 break: Bir döngüyü sonlandırmak için kullanılır. break komutu döngü
içerisinde çalıştırıldığında, döngü hemen sona erer ve döngü dışına çıkılır.

Örnek:

for i in range(10):
if i == 5:
break # i 5 olduğunda döngü sona erer
print(i)

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 31

Bu döngü 0'dan 4'e kadar olan sayıları yazdırır. i 5 olduğunda break


komutu ile döngü sonlanır.

 continue: Döngüdeki kalan kodları atlayarak döngünün bir sonraki


iterasyonuna geçer. Döngüyü kesmez, yalnızca belirli bir adımı atlar.

Örnek:

for i in range(5):
if i == 3:
continue # i 3 olduğunda o adımı atlar
print(i)

Bu döngü, i 3 olduğunda o iterasyonu atlar ve 0, 1, 2, 4 değerlerini


yazdırır.

 pass: Bir blokta hiçbir işlem yapmamak istediğinizde kullanılır.


Genellikle yer tutucu olarak kullanılır. pass komutu çalıştırıldığında,
herhangi bir işlem yapılmaz ve program devam eder.

Örnek:

if True:
pass # Şu an için bu blokta bir işlem yapılmayacak

pass ifadesi sayesinde Python, bir hata vermeden bu bloğu atlayacaktır.

Özetle:
 Koşullu ifadeler (if-else) ile koşullara bağlı olarak kodun farklı bölümleri
çalıştırılabilir.
 Döngüler (for ve while) ile tekrarlı işlemler yapılabilir.
 break, continue ve pass komutları, döngü ve koşullu yapıları daha esnek
hale getirir.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 32

6. Fonksiyonlar
Fonksiyonlar, bir programda belirli görevleri yerine getirmek için kullanılan kod
bloklarıdır. Python'da fonksiyonlar, kodu daha düzenli ve tekrar kullanılabilir hale
getirir. Ayrıca, karmaşık işlemleri basitleştirmek için de idealdirler.

Fonksiyon Tanımı ve Çağrılması


Python'da fonksiyonlar, def anahtar kelimesiyle tanımlanır. Fonksiyonun bir adı,
isteğe bağlı parametreleri ve kod bloğu bulunur.

Fonksiyon Tanımı:
def fonksiyon_adi():
# Yapılacak işlemler
print("Bu bir fonksiyondur.")

Bu örnekte fonksiyon_adi() adlı bir fonksiyon tanımlandı ve fonksiyon


çağrıldığında "Bu bir fonksiyondur." yazısı ekrana basılacak.

Fonksiyon Çağrılması:

Fonksiyonlar tanımlandıktan sonra çağrılarak kullanılırlar.

fonksiyon_adi() # Fonksiyon çağrıldı

Parametreler ve Varsayılan Argümanlar


Fonksiyonlar, dışarıdan veri almak için parametreler kabul eder. Parametreler,
fonksiyon tanımında parantez içinde belirtilir ve çağırıldığında birer argüman
olarak işlenir.

Parametreli Fonksiyon:

def selamla(isim):
print(f"Merhaba, {isim}")

Bu fonksiyon bir parametre (isim) alır ve verilen isimle bir selamlama mesajı
oluşturur.

selamla("Ahmet") # Çıktı: Merhaba, Ahmet

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 33

Varsayılan Argümanlar:

Python, bir parametreye varsayılan bir değer atama imkânı sunar. Bu, argüman
belirtilmediğinde varsayılan değerin kullanılmasını sağlar.

def selamla(isim="Ziyaretçi"):
print(f"Merhaba, {isim}")

Eğer fonksiyon çağrılırken bir argüman verilmezse, varsayılan değer kullanılır:

selamla() # Çıktı: Merhaba, Ziyaretçi


selamla("Ayşe") # Çıktı: Merhaba, Ayşe

Geri Dönen Değerler


Fonksiyonlar, genellikle bir işlem sonucunu geri döndürmek için return
ifadesini kullanır. Bu sayede fonksiyonun sonucu başka bir işlemde
kullanılabilir.

Örnek:
def topla(a, b):
return a + b

Bu fonksiyon, verilen iki sayıyı toplayarak sonucu geri döndürür.


sonuc = topla(5, 7)
print(sonuc) # Çıktı: 12

Eğer bir fonksiyon return kullanmazsa, varsayılan olarak None değeri döner.

Lambda Fonksiyonları
Lambda fonksiyonları, küçük ve tek satırlık fonksiyonları hızlıca tanımlamak
için kullanılır. Anonim fonksiyonlar olarak da bilinir. lambda anahtar
kelimesiyle tanımlanır.

Lambda fonksiyonları, genellikle basit işlemler için kullanılır ve sadece bir


ifadeyi içerir.

Lambda Fonksiyonu Yapısı:


lambda parametreler: ifade

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 34

Örnek:
topla = lambda a, b: a + b
print(topla(5, 7)) # Çıktı: 12

Bu örnekte lambda kullanılarak bir toplama fonksiyonu tanımlandı. Lambda


fonksiyonları genellikle daha büyük fonksiyonların içerisinde veya kısa süreli
kullanım için tercih edilir.

Liste Elemanlarını Lambda ile Sıralama:

Lambda fonksiyonları, liste sıralama işlemlerinde sıklıkla kullanılır.

sayilar = [(1, 2), (3, 1), (5, 4), (2, 3)]


[Link](key=lambda x: x[1])
print(sayilar) # Çıktı: [(3, 1), (1, 2), (2, 3), (5, 4)]

Bu örnekte, sayilar listesindeki her bir elemanın ikinci değerine göre


sıralama yapılır.

Özetle:
 Fonksiyonlar, belirli işlemleri yerine getiren kod bloklarıdır.
 Parametreler, fonksiyonlara dışarıdan veri girmeyi sağlar; varsayılan
argümanlarla parametrelerin isteğe bağlı hale getirilmesi mümkündür.
 return ifadesi, fonksiyonun bir sonuç döndürmesini sağlar.
 Lambda fonksiyonları, tek satırlık anonim fonksiyonlar olarak
tanımlanabilir ve genellikle kısa işlemler için kullanılır.

Bu konular, Python'daki fonksiyonel programlamanın temellerini oluşturur.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 35

7. Hata Yönetimi
Hata yönetimi, yazılımın beklenmedik durumlarla karşılaştığında düzgün
çalışmasını sağlamak için önemli bir konudur. Python'da hataları yakalama ve
işleme mekanizması, programın çökmesini önleyerek kullanıcılara anlamlı hata
mesajları sunmaya yardımcı olur.

Hata Yakalama ve İşleme (try-except)


Python’da hataları yakalamak ve bu hatalarla başa çıkmak için try-except
yapısı kullanılır. Bu yapı, belirli bir kod bloğunun hata vermesi durumunda,
programın çökmesini engeller ve hataya uygun bir çözüm veya mesaj üretir.

Yapısı:
try:
# Hata oluşturabilecek kod bloğu
except:
# Hata durumunda çalışacak kod bloğu

Örnek:
try:
x = 10 / 0 # Sıfıra bölme hatası
except ZeroDivisionError:
print("Bir sayıyı sıfıra bölemezsiniz!")

Bu örnekte, ZeroDivisionError hatası oluştuğunda, Python programı


çökmez ve bunun yerine belirtilen hata mesajı görüntülenir: "Bir sayıyı sıfıra
bölemezsiniz!"

Belirli Hataların Yakalanması:

Python'da belirli hata türlerini yakalayabilirsiniz. Bu sayede, sadece belirli bir


hata türü için ayrı bir işlem yapabilirsiniz.

Örnek:

try:
sayi = int(input("Bir sayı girin: "))
except ValueError:
print("Geçersiz bir sayı girdiniz!")

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 36

Bu örnekte, kullanıcı sayısal olmayan bir girdi verdiğinde ValueError


yakalanır ve uyarı mesajı gösterilir.

Çoklu except Blokları


Birden fazla hata durumu için ayrı except blokları kullanabilirsiniz. Bu
şekilde her hata türü için özel işlem yapılabilir.

try:
dosya = open("[Link]", "r")
veri = [Link]()
except FileNotFoundError:
print("Dosya bulunamadı.")
except PermissionError:
print("Dosyaya erişim izniniz yok.")

Bu örnekte, hem FileNotFoundError hem de PermissionError hataları


yakalanır ve her biri için ayrı mesajlar görüntülenir.

else ve finally Kullanımı


 else: Hata oluşmazsa çalışacak kod bloğu tanımlamak için kullanılır.

try:
sayi = int(input("Bir sayı girin: "))
except ValueError:
print("Geçersiz giriş!")
else:
print("Geçerli bir sayı girdiniz.")

Bu örnekte, hata olmadığı durumda else bloğu çalışır.

 finally: Hata oluşsa da oluşmasa da mutlaka çalışacak olan kod bloğu


tanımlamak için kullanılır. Genellikle dosya kapatma veya kaynakları
serbest bırakma işlemleri için kullanılır.
try:
dosya = open("[Link]", "r")
except FileNotFoundError:
print("Dosya bulunamadı.")
finally:
print("İşlem tamamlandı.")

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 37

Bu örnekte, dosya bulunmasa bile finally bloğu çalışır ve "İşlem


tamamlandı." mesajı ekrana yazdırılır.

Özel Hata Mesajları Oluşturma


Python'da kendi hata mesajlarınızı oluşturmak ve özel hata türleri tanımlamak
mümkündür. Bu, özellikle belirli durumlar için daha anlamlı hata mesajları
sağlamada faydalıdır. Özel hata oluşturmak için raise anahtar kelimesi
kullanılır.

Örnek:

def yas_kontrol(yas):
if yas < 18:
raise ValueError("18 yaşından küçükler bu siteye
kayıt olamaz.")
return "Kayıt başarılı!"

try:
print(yas_kontrol(16))
except ValueError as e:
print(e)

Bu örnekte, kullanıcı 18 yaşından küçükse ValueError hatası oluşturulur ve


özel bir hata mesajı iletilir.

Hata Yönetimi Stratejileri


1. Önce Hataları Önleme: Hataların yakalanmasından önce, yazılım
tasarımında hata oluşma ihtimalini azaltmak önemlidir. Girdi doğrulama ve
veri kontrolü gibi teknikler, olası hataları en aza indirir.
o Girdi doğrulama: Kullanıcılardan alınan verileri kontrol ederek
hatalı girişleri önlemek.
o Veri türü kontrolü: Fonksiyonlara ve değişkenlere doğru türde veri
sağlamak.
2. Spesifik Hataları Yakalama: Genel bir except bloğu kullanmak yerine,
belirli hata türlerini yakalamak daha güvenli ve etkili bir stratejidir.
Böylece sadece beklenen hatalar işlenir ve diğer hatalar gözden kaçmaz.
3. Yapıcı Hata Mesajları: Kullanıcılara anlamlı hata mesajları sağlamak,
hatanın ne olduğunu ve nasıl düzeltileceğini açıklamada önemlidir. Bu,
kullanıcı deneyimini iyileştirir ve olası karışıklıkları önler.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 38

4. Kaynakların Serbest Bırakılması: Özellikle dosya işlemleri gibi kaynak


yönetimi gerektiren durumlarda, hatalar sonrası bile bu kaynakların düzgün
bir şekilde serbest bırakıldığından emin olunmalıdır. Bu, finally bloğu
ile sağlanabilir.

Örnek:

try:
dosya = open("[Link]", "r")
# Dosya ile bazı işlemler
except FileNotFoundError:
print("Dosya bulunamadı.")
finally:
[Link]() # Dosya her durumda kapatılır

Özetle:
 try-except yapısı, Python'da hata yakalama ve yönetimi için kullanılır.
 Belirli hata türleri yakalanarak daha spesifik hata işleme yapılabilir.
 else ve finally blokları, hatasız çalışmalarda veya her durumda çalışacak
kodlar için kullanılır.
 Özel hata mesajları, programda kendi hata durumlarınızı oluşturmanıza
ve kullanıcıya daha anlamlı geri bildirimler sağlamanıza olanak tanır.
 Stratejik hata yönetimi, olası hataları önceden önlemek ve hataları etkili
şekilde ele almak için uygulanır.

Hata yönetimi, özellikle daha büyük ve karmaşık projelerde, programın


kararlılığını ve kullanıcı deneyimini geliştirmek açısından kritik bir rol oynar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 39

8. Dosya İşlemleri
Dosya işlemleri, veri saklama, okuma ve yazma gibi işlemleri kapsar ve Python'da
dosyalarla çalışmak oldukça kolaydır. Bu bölümde dosya okuma, yazma, dosya
konumlama ve veri yönetimi ile JSON ve CSV formatlarında çalışma ele
alınacaktır.

Dosya Okuma ve Yazma


Python'da dosyalarla çalışmak için open() fonksiyonu kullanılır. Bu fonksiyon,
dosyayı açar ve üzerinde işlem yapmamıza olanak tanır. Dosya açılırken hangi
modda açılacağı belirtilir:

 r: Sadece okuma modu


 w: Yazma modu (Dosya yoksa oluşturur, varsa içeriği siler)
 a: Ekleme modu (Dosya yoksa oluşturur, varsa sonuna ekleme yapar)
 b: İkili mod (örneğin resim dosyaları için)
 r+: Hem okuma hem yazma modu

Dosya Okuma:

Bir dosyayı okumak için dosyayı r modunda açabiliriz.


# Dosyayı okuma modunda açalım
dosya = open("[Link]", "r")

# Dosyanın tamamını oku


icerik = [Link]()
print(icerik)

# Dosyayı kapatmayı unutmayalım


[Link]()

Alternatif olarak with ifadesi kullanarak dosya otomatik olarak kapanmasını


sağlayabiliriz:

with open("[Link]", "r") as dosya:


icerik = [Link]()
print(icerik)

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 40

Dosya Yazma:

Dosyaya yazmak için w modunu kullanırız. Eğer dosya varsa, içerik silinir ve
üzerine yazılır.

# Dosyayı yazma modunda açalım


with open("[Link]", "w") as dosya:
[Link]("Bu, dosyaya yazılan bir metindir.")

Dosyaya Eklemek:

a modunu kullanarak dosyanın sonuna yeni veri ekleyebiliriz.

with open("[Link]", "a") as dosya:


[Link]("\nBu satır dosyanın sonuna eklenmiştir.")

Dosya Satır Satır Okuma:

Bir dosyayı satır satır okumak için readlines() veya döngü ile for
kullanabiliriz.
with open("[Link]", "r") as dosya:
satirlar = [Link]()
for satir in satirlar:
print([Link]()) # Satır sonundaki boşlukları siler

Dosya Konumlama ve Veri Yönetimi


Python'da dosya işlemleri yaparken, dosyanın nerede açılacağını veya nereye
yazılacağını belirtmek önemlidir. Dosya yollarını kullanarak dosyanın
konumunu tanımlayabiliriz. Dosya yolları göreli ya da mutlak olabilir.

1. Göreli Yol

 Göreli yol, dosyanın konumunu, çalışılan dizine (working directory) göre


belirtir.
 Eğer Python dosyan çalışılan dizin ile aynı klasördeyse, dosyanın adını
vererek doğrudan dosya işlemine başlayabilirsin.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 41

Örnek:
with open("[Link]", "r") as dosya:
icerik = [Link]()

Yukarıdaki örnekte, [Link] dosyası, çalıştığın Python betiğinin


bulunduğu dizinde yer alır.

2. Mutlak Yol

 Mutlak yol, dosyanın tam konumunu işletim sistemindeki tam dosya yolu
ile belirtir.
 Mutlak yollar, dosyanın hangi klasörde olduğunu belirtmek için
başlangıçtan itibaren tüm yolu içerir.
Örnek:

with open("C:/Belgeler/[Link]", "r") as dosya:


icerik = [Link]()

Bu örnekte, dosya C:/Kullanicilar/Belgeler/ dizininde


bulunan [Link] dosyasıdır.

3. Dosya Yolu ile İlgili Önemli Noktalar

 Windows işletim sisteminde dosya yolları ters eğik çizgi (\) ile belirtilir.
Ancak, ters eğik çizgi kaçış karakteri olarak kullanıldığı için, Python’da
genellikle çift ters eğik çizgi (\\) kullanmak veya ileri eğik çizgi (/) tercih
edilir.

Windows Örneği (Ters Eğik Çizgi ile):


dosya_yolu = "C:\\Kullanicilar\\Belgeler\\[Link]"

Alternatif Örnek (İleri Eğik Çizgi ile):


dosya_yolu = "C:/Kullanicilar/Belgeler/[Link]"

 Linux ve macOS işletim sistemlerinde ise ileri eğik çizgi (/) kullanılır.

4. Göreli ve Mutlak Yol Farkları

 Göreli Yol: Python betiğinin çalıştığı dizin ile ilişkili olarak yol belirtilir.
Örneğin, "../[Link]" ifadesi, bir üst dizindeki [Link] dosyasını işaret eder.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 42

 Mutlak Yol: Dosyanın tam konumu belirtilir ve hangi dizinde çalıştığın


fark etmeksizin dosyaya erişim sağlanır.

Bu bilgileri kullanarak dosya yollarını doğru bir şekilde yönetebilir, dosya


işlemlerini sorunsuz bir şekilde gerçekleştirebilirsin.

Dosya ile çalışırken dosyanın boyutunu, konumunu veya erişim modunu


öğrenmek için Python’da os ve pathlib modüllerini kullanabilirsiniz.

JSON ve CSV Formatları ile Çalışma


JSON ve CSV, veri saklama ve transferinde yaygın olarak kullanılan iki önemli
dosya formatıdır.

JSON (JavaScript Object Notation)


JSON, yapılandırılmış veriyi saklamak ve iletmek için yaygın olarak kullanılır.
Python'da JSON formatı ile çalışmak için json modülü kullanılır.

 JSON verisini Python objesine dönüştürme: [Link]() ve [Link]()


 Python objesini JSON formatına dönüştürme: [Link]() ve
[Link]()
JSON Dosyasını Okuma:
import json

with open("[Link]", "r") as dosya:


data = [Link](dosya) # JSON verisini Python objesine
# dönüştür
print(data)

JSON Dosyasına Yazma:


veri = {
"isim": "Ahmet",
"yas": 25,
"meslek": "Mühendis"
}

with
CSV open("[Link]",
(Comma "w") as dosya:
Separated Values)
[Link](veri, dosya) # Python objesini JSON
# formatında dosyaya yaz

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 43

CSV, verilerin satır ve sütunlar halinde depolandığı düz metin dosya formatıdır.
Python’da CSV dosyalarını işlemek için csv modülü kullanılır.

CSV Dosyasını Okuma:


import csv

with open("[Link]", "r") as dosya:


okuyucu = [Link](dosya)
for satir in okuyucu:
print(satir)

CSV Dosyasına Yazma:


with open("[Link]", "w", newline="") as dosya:
yazici = [Link](dosya)
[Link](["Isim", "Yas", "Meslek"])
[Link](["Ayşe", 30, "Doktor"])
[Link](["Ali", 28, "Mühendis"])

Özetle:
 Dosya okuma ve yazma işlemleri Python'da open() fonksiyonu ile
gerçekleştirilir.
 Dosya konumlama, göreli veya mutlak dosya yolları ile yapılır ve dosya
yönetimi için os modülü yardımcı olabilir.
 JSON formatı ile çalışırken json modülü kullanılarak veriler rahatça
okunabilir ve yazılabilir.
 CSV formatında veri okumak ve yazmak için csv modülü kullanılır.

Dosya işlemleri Python'da oldukça geniş kullanım alanına sahiptir ve veri işleme,
saklama ve transferi için temel bir yetkinliktir.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 44

9. Nesne Yönelimli Programlama (OOP)


Nesne Yönelimli Programlama (Object-Oriented Programming - OOP), yazılım
geliştirmede geniş çapta kullanılan bir yaklaşımdır. OOP'nin temeli, nesneler ve
bu nesnelerin etkileşimleri üzerine kuruludur. Python, nesne yönelimli bir
programlama dilidir ve sınıflar, nesneler, miras alma, kapsülleme, soyutlama ve
çok biçimlilik gibi OOP kavramlarını destekler.

Sınıflar ve Nesneler
Python’da sınıf (class), nesnelerin özelliklerini (attributes) ve davranışlarını
(methods) tanımlayan bir kalıptır. Nesne (object) ise, bu sınıftan türetilmiş bir
örnektir. Sınıflar, nesne tabanlı programlamanın temel yapı taşıdır ve nesneler, bu
sınıflara ait örneklerdir. Python'da bir sınıf, class anahtar kelimesi ile
tanımlanır.

Sınıf Tanımlama ve Nesne Oluşturma

class Araba:
def __init__(self, marka, model):
[Link] = marka
[Link] = model

def bilgileri_goster(self):
print(f"Araba: {[Link]} {[Link]}")

# Nesne oluşturma
arac1 = Araba("Toyota", "Corolla")
arac2 = Araba("BMW", "X5")

# Nesneye ait metodu çağırma


arac1.bilgileri_goster() # Çıktı: Araba: Toyota Corolla
arac2.bilgileri_goster() # Çıktı: Araba: BMW X5

Bu örnekte, Araba sınıfı tanımlandı ve arac1 ve arac2 adında iki nesne


oluşturuldu. Sınıfın özellikleri (marka ve model) ve davranışları (bilgileri
gösterme) tanımlandı.

Yapıcılar (Constructors) ve Yok Ediciler (Destructors)


Yapıcı (constructor), bir sınıfın nesnesi oluşturulduğunda otomatik olarak
çağrılan bir metottur. Python'da yapıcılar, __init__() metodu ile tanımlanır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 45

Yok edici (destructor) ise nesnenin yok edilmesi sırasında otomatik olarak
çağrılan metottur. Python'da yok ediciler, __del__() metodu ile tanımlanır.

Yapıcı Örneği:

class Kitap:
def __init__(self, isim, yazar):
[Link] = isim
[Link] = yazar
print(f"Kitap oluşturuldu: {[Link]} -
{[Link]}")

def __del__(self):
print(f"Kitap yok edildi: {[Link]}")

# Nesne oluşturma
kitap1 = Kitap("Python Programlama", "Ahmet Yılmaz")

Bu örnekte, Kitap sınıfı oluşturulurken yapıcı (__init__()) çalışır ve nesne


yok edildiğinde yok edici (__del__()) çalışır.

Miras Alma (Inheritance) ve Çok Biçimlilik


(Polymorphism)
Miras alma (inheritance), bir sınıfın başka bir sınıftan özellikleri ve metotları
devralmasına olanak tanır. Bu, kodun yeniden kullanılabilirliğini sağlar ve
mevcut sınıfların davranışlarını değiştirmeden genişletilmesine imkân tanır.

Çok biçimlilik (polymorphism), farklı sınıfların aynı ada sahip metotları farklı
biçimlerde kullanabilmesidir. Bu sayede aynı metot farklı sınıflarda farklı
işlevsellik gösterebilir.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 46

Miras Alma Örneği:


class Hayvan:
def ses_cikar(self):
print("Hayvan ses çıkarıyor.")

class Kopek(Hayvan):
def ses_cikar(self):
print("Köpek havlıyor.")

class Kedi(Hayvan):
def ses_cikar(self):
print("Kedi miyavlıyor.")

# Nesne oluşturma ve mirasın kullanılması


kopek = Kopek()
kopek.ses_cikar() # Çıktı: Köpek havlıyor.

kedi = Kedi()
kedi.ses_cikar() # Çıktı: Kedi miyavlıyor.

Bu örnekte, Hayvan sınıfı temel sınıf olarak tanımlanmıştır ve Kopek ve Kedi


sınıfları bu sınıfı miras almıştır. Her sınıf, kendine özgü ses çıkarma davranışına
sahiptir.

Kapsülleme (Encapsulation) ve Soyutlama


(Abstraction)
Kapsülleme (encapsulation), bir nesnenin özelliklerini ve metotlarını dışarıdan
erişime kapatma ve bu verilere sadece belirlenen yöntemlerle ulaşılmasını
sağlama işlemidir. Kapsülleme, verilerin yetkisiz erişimlerden korunmasını
sağlar.

Python'da bir özelliği gizlemek için önüne _ veya __ eklenir. Tek alt çizgi (_),
özelliğin korumalı olduğunu gösterirken, çift alt çizgi (__), özelliğin tamamen
gizlenmesini sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 47

Kapsülleme Örneği:
class BankaHesabi:
def __init__(self, bakiye):
self.__bakiye = bakiye # Gizli değişken

def para_cek(self, miktar):


if miktar <= self.__bakiye:
self.__bakiye -= miktar
print(f"{miktar} TL çekildi. Kalan bakiye:
{self.__bakiye} TL")
else:
print("Yetersiz bakiye.")

hesap = BankaHesabi(1000)
hesap.para_cek(500) # Çıktı: 500 TL çekildi. Kalan bakiye:
# 500 TL
hesap.para_cek(600) # Çıktı: Yetersiz bakiye.
Bu örnekte, __bakiye değişkeni dışarıdan erişilemez hale getirilmiştir. Bu
veriye yalnızca para_cek() metodu aracılığıyla erişilebilir.

Soyutlama (abstraction) ise gereksiz detayları gizleyerek, sadece önemli


özellikleri ve işlemleri ortaya çıkarmayı amaçlar. Python’da soyutlama için
genellikle soyut sınıflar ve soyut metotlar kullanılır. Bu, temel sınıfların sadece
yapılarını tanımlayıp alt sınıflarda detaylarının tanımlanmasını sağlar.

Soyutlama Örneği:
from abc import ABC, abstractmethod

class Sekil(ABC):
@abstractmethod
def alan_hesapla(self):
pass

class Daire(Sekil):
def __init__(self, yaricap):
[Link] = yaricap

def alan_hesapla(self):
return 3.14 * ([Link] ** 2)

class Kare(Sekil):
def __init__(self, kenar):
[Link] = kenar

def alan_hesapla(self):
return [Link] * [Link]
# Nesnelerle çalışma
daire = Daire(5)
kare = Kare(4)

print(f"Dairenin alanı: {daire.alan_hesapla()}") # Çıktı: Dairenin


# alanı: 78.5
print(f"Karenin alanı: {kare.alan_hesapla()}") # Çıktı: Karenin
# alanı: 16
Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir
| 48

Bu örnekte, Sekil sınıfı soyut bir sınıf olarak tanımlanmış ve alt sınıflar olan
Daire ve Kare, soyut metodu (alan hesapla) tanımlamıştır.

Özetle:
 Sınıflar ve nesneler, OOP'nin temel yapı taşlarıdır.
 Yapıcılar nesne oluşturulurken, yok ediciler nesne yok edilirken çağrılır.
 Miras alma ile bir sınıf başka bir sınıfın özelliklerini ve metotlarını
devralır. Çok biçimlilik sayesinde aynı metot farklı sınıflarda farklı
işlevler görür.
 Kapsülleme, verilerin gizlenmesini ve sadece belirlenen yöntemlerle
erişilmesini sağlar. Soyutlama, gereksiz detayları gizleyip önemli
bilgileri ortaya çıkarır.

Nesne yönelimli programlama, büyük ve karmaşık projelerde kodun daha düzenli,


tekrar kullanılabilir ve sürdürülebilir olmasını sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 49

10. Modüller ve Paketler


Python, kodun yeniden kullanılabilirliğini ve organizasyonunu artırmak için
modül ve paket kavramlarını sunar. Bu bölümde, Python standart kütüphaneleri,
modül ve paket oluşturma, ayrıca üçüncü parti kütüphanelerle çalışma konuları
ele alınacaktır.

Python Standart Kütüphaneleri


Python, birçok kullanışlı modül ve kütüphane içeren geniş bir standart
kütüphaneye sahiptir. Bu kütüphaneler, veri analizi, web geliştirme, dosya
işlemleri, matematiksel hesaplamalar ve daha fazlası için kullanılabilir.

Örnek Standart Kütüphaneleri:

 math: Matematiksel işlemler için.


 os: İşletim sistemi etkileşimleri için.
 sys: Python yorumlayıcısı ile etkileşim için.
 datetime: Tarih ve zaman işlemleri için.
 random: Rastgele sayı üretimi için.
 json: JSON verilerini işlemek için.

Örnek Kullanım:
import math

# Pi sayısını ve karekök hesaplamasını göster


print([Link]) # Çıktı:
# 3.141592653589793
print([Link](16)) # Çıktı: 4.0

Modül ve Paket Oluşturma


Modül (Module), Python kodunu (fonksiyonlar, sınıflar, değişkenler) içeren bir
dosyadır. Modüller, başka bir Python dosyasında kullanılmak üzere import
ifadesiyle çağrılabilir.

Paket (Package), birden fazla modülü bir araya getiren bir yapıdır ve genellikle
bir klasör içinde bulunur. Bir paketin içinde, __init__.py adlı bir dosya
bulunmalıdır; bu dosya, Python’un paketi bir modül olarak tanımasını sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 50

Modül Oluşturma
1. Modül Dosyası Oluşturma: my_module.py adında bir dosya oluşturun
ve aşağıdaki kodu ekleyin:

def merhaba():
return "Merhaba, Python!"

def topla(a, b):


return a + b

2. Modülü Kullanma:

import my_module

print(my_module.merhaba()) # Çıktı: Merhaba, Python!


print(my_module.topla(3, 5)) # Çıktı: 8

Paket Oluşturma
1. Paket Dizini Oluşturma: my_package adlı bir klasör oluşturun. İçine
__init__.py ve [Link] adında bir dosya ekleyin.

 __init__.py Dosyası:

# Bu dosya paketin başlangıç dosyasıdır.

 [Link] Dosyası:
def fonksiyon1():
return "Bu, modul1 içindeki fonksiyon."

2. Paket Kullanma:
from my_package import modul1

print(modul1.fonksiyon1()) # Çıktı: Bu, modul1


# içindeki fonksiyon.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 51

Üçüncü Parti Kütüphaneler ile Çalışma


Python, birçok üçüncü parti kütüphane ve modül ile genişletilebilir. Bu
kütüphaneler genellikle pip (Python Package Installer) kullanılarak yüklenir.

Üçüncü Parti Kütüphane Yükleme


Örneğin, requests kütüphanesi HTTP istekleri yapmak için yaygın olarak
kullanılır.

1. Kütüphaneyi Yükleme:
pip install requests

2. Kütüphaneyi Kullanma:

import requests

response = [Link]("[Link]
print(response.status_code) # Çıktı: 200
print([Link]()) # Çıktı: JSON formatında yanıt

Özetle:
 Modül, fonksiyonlar ve sınıflar içeren bir Python dosyasıdır ve başka
dosyalarda kullanılabilir.
 Paket, birden fazla modülü içeren bir dizindir ve genellikle bir proje
içinde organizasyon sağlamak için kullanılır.
 Python'un standart kütüphaneleri geniş bir yelpazeye sahiptir ve çoğu
durumda kullanılabilir.
 Üçüncü parti kütüphaneler, pip aracılığıyla yüklenir ve projelerde ek
işlevsellik sağlar.

Modüller ve paketler, Python programlamasında kodun düzenlenmesi ve tekrar


kullanılabilirliği açısından büyük önem taşır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 52

11. İleri Python Konuları


Python'un sunduğu birçok ileri seviye konu, yazılım geliştirme sürecini daha
verimli ve okunabilir hale getirebilir. Bu bölümde, jeneratörler ve iteratörler,
dekoratörler ve bağlam yöneticileri, comprehension yapıları, ve düzenli ifadeler
(regex) ele alınacaktır.

Jeneratörler ve İteratörler
İteratör (Iterator), üzerinde döngü yapılarak erişilebilen bir nesnedir. Python'da,
herhangi bir nesne üzerinde __iter__() ve __next__() metodları ile bir
iteratör oluşturulabilir.

Jeneratör (Generator), yield anahtar kelimesi kullanılarak tanımlanan bir


fonksiyondur ve büyük veri setlerini işlerken bellek tasarrufu sağlar. Jeneratörler,
değerleri yalnızca gerektiğinde üretir.

İteratör Örneği:
class Sayilar:
def __init__(self, maksimum):
[Link] = maksimum
self.su_an = 0

def __iter__(self):
return self

def __next__(self):
if self.su_an < [Link]:
self.su_an += 1
return self.su_an
else:
raise StopIteration

# İteratör kullanımı
for sayi in Sayilar(5):
print(sayi) # Çıktı: 1, 2, 3, 4, 5

Jeneratör Örneği:
def sayilari_uret(maksimum):
for sayi in range(1, maksimum + 1):
yield sayi

# Jeneratör kullanımı
for sayi in sayilari_uret(5):
print(sayi) # Çıktı: 1, 2, 3, 4, 5

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 53

Dekoratörler ve Bağlam Yöneticileri


Dekoratör (Decorator), bir fonksiyonun davranışını değiştiren bir yapıdır. Bir
fonksiyonu alır ve ona yeni bir işlevsellik ekleyerek yeni bir fonksiyon döndürür.

Bağlam yöneticisi (Context Manager), belirli bir işlem bloğu içinde kaynakların
yönetimini kolaylaştıran bir yapıdır. Genellikle with ifadesiyle kullanılır.

Dekoratör Örneği:

def dekorator(func):
def wrapper():
print("Fonksiyon çalışmadan önce.")
func()
print("Fonksiyon çalıştıktan sonra.")
return wrapper

@dekorator
def merhaba():
print("Merhaba, Python!")

merhaba()
# Çıktı:
# Fonksiyon çalışmadan önce.
# Merhaba, Python!
# Fonksiyon çalıştıktan sonra.

Bağlam Yöneticisi Örneği:

class DosyaYazici:
def __init__(self, dosya_adi):
self.dosya_adi = dosya_adi

def __enter__(self):
[Link] = open(self.dosya_adi, 'w')
return [Link]

def __exit__(self, exc_type, exc_val, exc_tb):


[Link]()

# Bağlam yöneticisi kullanımı


with DosyaYazici('[Link]') as dosya:
[Link]('Merhaba, dosya yazıldı!')

# Dosya kapatılır, ayrıca hata yönetimi yapılabilir.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 54

List Comprehension ve Set/Dictionary Comprehension


List comprehension, bir liste oluşturmak için kullanılan kısa ve okunabilir bir
yapıdır. Aynı şekilde, set comprehension ve dictionary comprehension da
benzer bir yapı sunar.

List Comprehension Örneği:

sayilar = [1, 2, 3, 4, 5]
kareler = [x ** 2 for x in sayilar]
print(kareler) # Çıktı: [1, 4, 9, 16, 25]

Set Comprehension Örneği:


kareler_set = {x ** 2 for x in sayilar}
print(kareler_set) # Çıktı: {1, 4, 9, 16, 25}

Dictionary Comprehension Örneği:

kareler_dict = {x: x ** 2 for x in sayilar}


print(kareler_dict) # Çıktı: {1: 1, 2: 4, 3: 9, 4: 16,
5: 25}

Regex (Düzenli İfadeler)


Düzenli ifadeler (Regex), metin içindeki belirli desenleri tanımlamak ve bu
desenlere göre arama, yer değiştirme veya parçalama işlemleri yapmak için
kullanılan güçlü bir araçtır. Python’da re modülü ile düzenli ifadeler
kullanılabilir.

Regex Örneği:
import re

metin = "Merhaba, benim adım Ahmet ve ben 30 yaşındayım."


pattern = r'\d+' # Bir veya daha fazla rakamı yakala

sonuc = [Link](pattern, metin)


print(sonuc) # Çıktı: ['30']

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 55

Özetle:
 İteratör ve jeneratör, veri üzerinde döngü yapmayı kolaylaştıran yapılar
olup bellek verimliliği sağlar.
 Dekoratörler, fonksiyonların davranışını değiştirmeye yararken, bağlam
yöneticileri kaynak yönetimini basitleştirir.
 Comprehension yapıları, daha kısa ve okunabilir kod yazmayı sağlar.
 Düzenli ifadeler, metin işleme işlemlerinde esneklik ve güç sunar.

Bu ileri Python konuları, programlama becerilerinizi geliştirerek daha etkili ve


verimli kod yazmanızı sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 56

12. Python'da Veri İşleme


Python, veri analizi ve işleme konusundaki güçlü yetenekleri sayesinde veri
bilimcileri ve analistleri arasında popüler bir programlama dili haline gelmiştir.
Bu popülaritenin arkasında yatan nedenlerden biri, Python’un sahip olduğu
zengin kütüphanelerdir. Bu bölümde, veri analizi süreçlerini kolaylaştıran üç
önemli kütüphane olan NumPy, Pandas ve Matplotlib ele alınacaktır. Bu
bölümde, NumPy ile dizi işlemleri, Pandas ile veri analizine giriş, ve Matplotlib
ile veri görselleştirme konuları ele alınacaktır.

NumPy ile Dizi İşlemleri

NumPy, (Numerical Python) sayısal hesaplamalar ve dizi işlemleri için kullanılan


temel bir Python kütüphanesidir. Yüksek performanslı çok boyutlu diziler
(ndarray) ve bu diziler üzerinde çalışmak için geniş bir fonksiyon yelpazesi sunar.
NumPy, Python’un standart listelerine kıyasla daha hızlı ve daha verimli bir yapı
sağladığı için bilimsel hesaplamalarda ve veri analizi süreçlerinde yaygın olarak
kullanılmaktadır.

Temel Özellikler:
1. N-Diziler (ndarray): NumPy’nin temel veri yapısı olan N-Diziler, çok
boyutlu diziler olarak tanımlanabilir. Bu diziler, farklı boyutlarda ve veri
türlerinde sayıları depolamak için kullanılır.

o Örnek:

import numpy as np
arr = [Link]([1, 2, 3])

komutuyla bir dizi oluşturulabilir.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 57

2. Matematiksel Fonksiyonlar: NumPy, diziler üzerinde matematiksel


işlemler yapmayı kolaylaştıran birçok yerleşik fonksiyon sunar. Toplama,
çıkarma, çarpma ve bölme gibi temel işlemlerin yanı sıra, istatistiksel
hesaplamalar, lineer cebir ve Fourier dönüşümleri gibi ileri düzey işlemler
de yapılabilir.
3. Dizi Manipülasyonu: NumPy, dizilerin boyutunu değiştirme, yeniden
şekillendirme, dilimleme ve birleştirme gibi işlemleri destekler. Bu
özellikler, verilerin analiz ve görselleştirme için uygun hale getirilmesinde
önemlidir.
4. Performans: NumPy, yerel C ve Fortran kodlarına dayandığı için
hesaplamalarda yüksek performans sunar. Bu sayede büyük veri setleri
üzerinde hızlı bir şekilde işlem yapma imkanı tanır.

NumPy Kurulumu

NumPy'yi yüklemek için terminalde (komut satırında) aşağıdaki komutu


kullanabilirsiniz:
pip install numpy

NumPy Kullanımı
import numpy as np

# 1D dizi oluşturma
dizi_1d = [Link]([1, 2, 3, 4, 5])
print("1D Dizi:", dizi_1d)

# 2D dizi oluşturma
dizi_2d = [Link]([[1, 2, 3], [4, 5, 6]])
print("2D Dizi:\n", dizi_2d)

# Dizi üzerinde temel işlemler


toplam = [Link](dizi_1d) # Dizi elemanlarının toplamı
ortalama = [Link](dizi_1d) # Dizi elemanlarının ortalaması
max_deger = [Link](dizi_1d) # En büyük eleman
print("Toplam:", toplam, "Ortalama:", ortalama, "Max
Değer:", max_deger)

# Dizi dilimleme
print("Dizinin ilk 3 elemanı:", dizi_1d[:3])

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 58

Pandas ile Veri Analizine Giriş

Pandas, (Panel Data) veri analizi ve veri manipülasyonu için güçlü bir
kütüphanedir. Özellikle yapılandırılmış verilerle (tablo biçiminde) çalışmak için
geliştirilmiştir ve veri analizi işlemlerini kolaylaştırmak için bir dizi araç sunar.
Pandas, iki ana veri yapısı olan Series (1 boyutlu) ve DataFrame (2 boyutlu) ile
çalışır.

Temel Özellikler:

1. DataFrame: Pandas’ın en önemli veri yapısı olan DataFrame, satır ve


sütunlardan oluşan tabular bir yapıdır. Bu yapı, verilerin kolay bir şekilde
düzenlenmesini, filtrelenmesini ve analiz edilmesini sağlar.
o Örnek:

import pandas as pd
df = [Link]({'A': [1, 2], 'B': [3, 4]})

komutuyla bir DataFrame oluşturulabilir.

2. Veri Manipülasyonu: Pandas, veri setlerinin temizlenmesi, birleştirilmesi,


gruplandırılması ve dönüştürülmesi gibi işlemleri kolaylaştırır. Bu sayede,
eksik değerler üzerinde işlem yapma, filtreleme ve belirli koşullara göre
verileri gruplama gibi görevler hızlı bir şekilde gerçekleştirilebilir.
3. Veri Analizi: Pandas, veri analizi için birçok yerleşik fonksiyon sunar.
Toplama, ortalama alma, standart sapma hesaplama gibi temel istatistiksel
işlemler hızlı bir şekilde yapılabilir.
4. Veri Giriş/Çıkışı: Pandas, farklı dosya formatlarından (CSV, Excel, SQL
veritabanları vb.) veri okuma ve yazma işlemlerini kolaylaştırır. Bu özellik,
verilerin farklı kaynaklardan toplanmasını ve analiz edilmesini sağlar.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 59

Pandas Kurulumu

Pandas'ı yüklemek için aşağıdaki komutu kullanabilirsiniz:

pip install pandas

Pandas Kullanımı
import pandas as pd

# Veri çerçevesi oluşturma


data = {
'Ad': ['Ahmet', 'Mehmet', 'Ayşe', 'Fatma'],
'Yaş': [30, 25, 22, 29],
'Şehir': ['İstanbul', 'Ankara', 'İzmir', 'Bursa']
}
df = [Link](data)

# Veri çerçevesini görüntüleme


print(df)

# Temel veri analizi


ortalama_yas = df['Yaş'].mean() # Yaş ortalaması
en_yasli = [Link][df['Yaş'].idxmax()] # En yaşlı kişi
print("Yaş Ortalaması:", ortalama_yas)
print("En Yaşlı Kişi:", en_yasli)

# Filtreleme
ankara_df = df[df['Şehir'] == 'Ankara']
print("Ankara'da yaşayanlar:\n", ankara_df)

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 60

Matplotlib ile Veri Görselleştirme

Matplotlib, veri görselleştirme için en yaygın kullanılan kütüphanelerden biridir.


Geliştiricilere ve veri bilimcilerine, verilerini grafikler ve görseller aracılığıyla
anlamalarına yardımcı olur. Matplotlib, farklı türlerde grafikler oluşturma
yeteneğine sahiptir ve kullanıcıların verilerini daha etkili bir şekilde sunmalarına
olanak tanır.

Temel Özellikler:
1. Grafik Türleri: Matplotlib, çizgi grafikler, çubuk grafikler, histogramlar,
saçılım grafikler ve daha fazlası dahil olmak üzere birçok grafik türü
oluşturma imkanı sunar. Bu çeşitlilik, verilerin analizi ve sunumu için
esneklik sağlar.
2. Özelleştirme: Kullanıcılar, oluşturdukları grafiklerin görünümünü
özelleştirebilir. Renkler, etiketler, başlıklar ve eksenler gibi birçok öğe
üzerinde kontrol sağlamak mümkündür. Bu, görsellerin daha anlaşılır ve
etkili olmasını sağlar.
3. Entegre Çalışma: NumPy ve Pandas ile entegrasyon yeteneği,
Matplotlib’in en güçlü yönlerinden biridir. NumPy dizileri ve Pandas
DataFrame’leri kullanarak hızlı bir şekilde görselleştirmeler yapılabilir.
4. Statik ve Dinamik Görselleştirme: Matplotlib, statik görsellerin yanı sıra
etkileşimli grafikler de oluşturma imkanı sunar. Kullanıcılar, görselleri
dinamik bir şekilde güncelleyebilir ve etkileşimde bulunabilir.
Matplotlib Kurulumu

Matplotlib'i yüklemek için komut satırından şu komutu kullanabilirsiniz:

pip install matplotlib

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 61

Matplotlib Kullanımı
import [Link] as plt

# Basit bir çizgi grafiği oluşturma


x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 1, 4]

[Link](x, y, marker='o', linestyle='-')


[Link]('Basit Çizgi Grafiği')
[Link]('X Eksen')
[Link]('Y Eksen')
[Link]()
[Link]()

# Bar grafiği oluşturma


sehirler = ['İstanbul', 'Ankara', 'İzmir', 'Bursa']
nufus = [15029231, 5508024, 4329510, 3056077]

[Link](sehirler, nufus, color='skyblue')


[Link]('Türkiye Şehirlerinin Nüfusları')
[Link]('Şehirler')
[Link]('Nüfus')
[Link]()

Özetle:
 NumPy, çok boyutlu dizileri ve matrisleri işlemek için güçlü bir araçtır.
Temel dizi işlemleri, toplama, ortalama alma gibi hesaplamalar için
kullanılabilir.
 Pandas, veri analizi için kullanışlı bir kütüphanedir. Veri çerçeveleri ile
verileri düzenleyebilir ve analiz edebilirsiniz.
 Matplotlib, verilerinizi görselleştirmenize yardımcı olur. Çizgi grafikleri,
bar grafikleri gibi farklı grafik türleri oluşturabilirsiniz.

Bu kütüphaneler, veri bilimi ve analizi konularında Python'un sunduğu gücü ve


esnekliği gösterir. Veri işleme sürecinde bu araçlar, verileri anlamanızı ve
sunmanızı kolaylaştırır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 62

13. Python Proje Örnekleri


Python ile geliştirebileceğiniz çeşitli proje örnekleri, hem temel hem de ileri
düzey programlama becerilerinizi geliştirmenize yardımcı olacaktır. Bu bölümde,
basit bir hesap makinesi uygulaması, dosya yönetimi otomasyonu ve veri işleme
ile görselleştirme uygulamaları ele alınacaktır.

1. Basit Bir Hesap Makinesi Uygulaması


Bu proje, kullanıcıdan iki sayı ve bir işlem (toplama, çıkarma, çarpma, bölme)
alarak sonucu hesaplayan basit bir hesap makinesi oluşturmayı içerir.

Örnek Kod:
def hesap_makinesi():
print("Basit Hesap Makinesi")
print("İşlem Seçin: [Link] 2.Çıkar 3.Çarp 4.Böl")
islem = input("Seçiminizi yapın (1/2/3/4): ")

# Kullanıcıdan iki sayı al


sayi1 = float(input("Birinci sayıyı girin: "))
sayi2 = float(input("İkinci sayıyı girin: "))

if islem == '1':
print(f"Sonuç: {sayi1 + sayi2}")
elif islem == '2':
print(f"Sonuç: {sayi1 - sayi2}")
elif islem == '3':
print(f"Sonuç: {sayi1 * sayi2}")
elif islem == '4':
if sayi2 != 0:
print(f"Sonuç: {sayi1 / sayi2}")
else:
print("Hata: Sıfıra bölme hatası!")
else:
print("Geçersiz işlem!")

# Uygulamayı çalıştır
hesap_makinesi()

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 63

2. Dosya Yönetimi Otomasyonu


Bu proje, belirli bir dizindeki dosyaları organize etmek için bir Python scripti
oluşturmayı içerir. Örneğin, dosyaları uzantılarına göre farklı klasörlere taşıyan
bir uygulama.

Örnek Kod:
import os
import shutil

def dosya_yonetimi(dizin):
for dosya in [Link](dizin):
if [Link]([Link](dizin, dosya)):
uzanti = [Link]('.')[-1]
hedef_klasor = [Link](dizin, uzanti)

# Hedef klasör yoksa oluştur


if not [Link](hedef_klasor):
[Link](hedef_klasor)

# Dosyayı hedef klasöre taşı


[Link]([Link](dizin, dosya),
[Link](hedef_klasor, dosya))
print(f"{dosya} dosyası {uzanti} klasörüne
taşındı.")

# Kullanıcıdan dizin al
hedef_dizin = input("Dosyaların organize edileceği dizin
yolunu girin: ")
dosya_yonetimi(hedef_dizin)

3. Veri İşleme ve Görselleştirme Uygulamaları


Bu proje, bir veri setini okuyarak temel analizler yapmayı ve sonuçları görselleştirmeyi içerir.
Örneğin, bir CSV dosyasından veri okuyarak ve Matplotlib kullanarak grafik çizen bir
uygulama.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 64

Örnek Kod:

import pandas as pd
import [Link] as plt

def veri_gorsellestirme(csv_dosya):
# CSV dosyasını oku
df = pd.read_csv(csv_dosya)

# Veri analizi
print("Veri Seti:\n", [Link]())
print("Yaş Ortalaması:", df['Yaş'].mean())

# Görselleştirme
df['Yaş'].plot(kind='hist', bins=10, alpha=0.7)
[Link]('Yaş Dağılımı')
[Link]('Yaş')
[Link]('Frekans')
[Link]()

# Kullanıcıdan CSV dosyası yolu al


csv_yolu = input("CSV dosyasının yolunu girin: ")
veri_gorsellestirme(csv_yolu)

Özetle:
 Basit Hesap Makinesi Uygulaması: Kullanıcı etkileşimi ile
matematiksel işlemler gerçekleştiren temel bir uygulamadır.
 Dosya Yönetimi Otomasyonu: Dosyaları uzantılarına göre organize eden
bir script ile dosya yönetimi süreçlerini otomatikleştirir.
 Veri İşleme ve Görselleştirme Uygulamaları: Pandas ve Matplotlib
kullanarak veri analizi ve görselleştirme işlemleri gerçekleştiren bir
uygulamadır.
Bu projeler, Python'da programlama becerilerinizi geliştirmenize yardımcı
olurken, pratik yapmanızı da sağlayacaktır. Her projeyi geliştirerek daha karmaşık
işlevler eklemeyi deneyebilirsiniz.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 65

14. Sonuç ve İleriye Yönelik Adımlar


Python, esnekliği, kolay öğrenilebilirliği ve geniş bir topluluk desteği ile yazılım
geliştirme alanında önemli bir yer edinmiştir. Bu bölümde, Python'un geleceği,
mevcut trendler ve ileri düzey Python ile diğer dillerle entegrasyon konularını ele
alacağız.

Python'un Geleceği ve Trendler


1. Veri Bilimi ve Makine Öğrenimi:
o Python, veri analizi ve makine öğrenimi için en popüler dillerden
biridir. Pandas, NumPy, SciPy ve scikit-learn gibi kütüphanelerle,
veri bilimcilerinin ve makine öğrenimi mühendislerinin iş akışlarını
hızlandırır.
o Trendler: Derin öğrenme ve yapay zeka uygulamalarında
Python'un rolü giderek artmaktadır. TensorFlow ve PyTorch gibi
kütüphanelerle, karmaşık modelleri eğitmek daha erişilebilir hale
gelmiştir.
2. Web Geliştirme:
o Django ve Flask gibi framework'ler, Python'un web geliştirme
alanında yaygın olarak kullanılmasını sağlamıştır. Geliştiricilere
hızlı ve verimli çözümler sunar.
o Trendler: RESTful API geliştirme ve mikro hizmet mimarileri,
Python ile web geliştirmede önemli bir trenddir.
3. Otomasyon ve Scripting:
o Python, otomasyon ve scripting için güçlü bir araçtır. Sistem
yöneticileri ve DevOps mühendisleri, Python'u görev otomasyonu
için sıklıkla kullanmaktadır.
o Trendler: Bulut tabanlı çözümler ve konteyner teknolojileri ile
Python'un entegrasyonu artmaktadır.
4. Veri Görselleştirme:
o Matplotlib, Seaborn ve Plotly gibi kütüphanelerle, verileri etkili bir
şekilde görselleştirmek mümkündür. İş zekası ve veri analitiği
alanında önemli bir rol oynar.
o Trendler: İnteraktif görselleştirme ve büyük veri analitiği
çözümleri için Python'un kullanımı yaygınlaşmaktadır.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 66

İleri Düzey Python ve Diğer Diller ile Entegrasyon


1. İleri Düzey Python Konuları:
o Python'da jeneratörler, dekoratörler ve bağlam yöneticileri gibi ileri
düzey konular, performans ve kod organizasyonu açısından
önemlidir.
o Asenkron programlama (asyncio) ile yüksek performanslı
uygulamalar geliştirmek mümkündür.
2. Diğer Dillerle Entegrasyon:
o C/C++ Entegrasyonu: Python, C/C++ ile entegrasyon için ctypes
veya cffi gibi kütüphanelerle performans artırma olanakları sunar.
Bu, CPU yoğun uygulamalarda hız kazandırır.
o Java Entegrasyonu: Jython gibi araçlar, Python kodunu Java
platformunda çalıştırmanıza olanak tanır. Bu, Java tabanlı
uygulamalar ile Python'un yeteneklerini birleştirir.
o Veritabanı Entegrasyonu: SQLAlchemy gibi kütüphaneler,
Python ile veritabanları arasında kolayca etkileşim kurmanıza
imkan tanır. Veri bilimi ve web uygulamalarında yaygın kullanılır.
o API Geliştirme: Flask veya Django ile RESTful API'ler
geliştirerek, Python uygulamalarını diğer dillerle ve platformlarla
entegre etmek mümkündür.

Özetle:
 Python, veri bilimi, web geliştirme ve otomasyon gibi alanlarda gelecekte
de önemli bir rol oynamaya devam edecektir. Makine öğrenimi ve yapay
zeka alanındaki gelişmeler, Python'un popülaritesini artıracaktır.
 İleri düzey konular ve diğer dillerle entegrasyon yetenekleri, Python'u
daha güçlü ve esnek bir araç haline getirmektedir. Bu sayede, geliştiriciler
karmaşık uygulamalar geliştirebilir ve farklı sistemlerle etkileşim
kurabilir.

Bu bilgiler, Python öğreniminizi derinleştirirken, ileri düzey beceriler


kazanmanıza ve mevcut teknoloji trendlerini takip etmenize yardımcı olacaktır.
Python ile ilgili öğrenmeye devam ederek, kariyer fırsatlarınızı genişletebilir ve
yeni projeler geliştirme imkanı bulabilirsiniz.

Bu yayının tüm hakları saklıdır. Hiçbir şekilde kopyalanamaz, çoğaltılamaz.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 67

Bu kitapçık Python Programlama için gerekli olan temel konuları özet olarak
vermektedir. Kitapçığın yeni sürümlerini instagram hesabımızı (#pitonca_)
takip ederek temin edebilirsiniz.

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir


| 68

Notlar:

Haluk Tanrıkulu || Tüm Yayın Hakları Yazarına Aittir

You might also like