Python, günümüzde en popüler programlama dillerinden biri olarak kabul edilmektedir. Hem yeni başlayanlar hem de deneyimli geliştiriciler için sunduğu esneklik ve kullanım kolaylığı sayesinde geniş bir kullanıcı kitlesine hitap etmektedir. Bu makalede, Python’a sıfırdan başlayarak temel dersler aracılığıyla adım adım öğrenmenize yardımcı olacağız.
İçindekiler
Başlık | Alt Başlık |
---|---|
Sıfırdan Python: Yeni Başlayanlar İçin Temel Dersler | |
Python’a Giriş | Python Nedir?, Python’un Tarihçesi, Python’un Özellikleri ve Avantajları |
Python Kurulumu ve Ortam Ayarları | Python Nasıl Kurulur?, Entegre Geliştirme Ortamları (IDE) Seçenekleri, İlk Python Projenizi Oluşturma |
Temel Python Sözdizimi | Değişkenler ve Veri Tipleri, Operatörler, Yorum Satırları ve Kod Düzenleme |
Kontrol Yapıları | Koşul İfadeleri (if, elif, else), Döngüler (for, while), Döngü Kontrol Deyimleri (break, continue) |
Veri Yapıları | Listeler, Demetler (Tuples), Sözlükler (Dictionaries), Kümeler (Sets) |
Fonksiyonlar | Fonksiyon Tanımlama, Parametreler ve Argümanlar, Geri Dönüş Değerleri, Lambda Fonksiyonları |
Modüller ve Paketler | Modül Nedir?, Standart Kütüphaneler, Üçüncü Parti Kütüphanelerin Kullanımı |
Hatalar ve İstisna Yönetimi | Hata Türleri, Try, Except Blokları, Özel İstisnalar Yaratma |
Dosya İşlemleri | Dosya Açma ve Kapatma, Dosya Okuma ve Yazma, Dosya ve Klasör Yönetimi |
Nesne Yönelimli Programlama (OOP) Temelleri | Sınıflar ve Nesneler, Özellikler ve Metodlar, Kalıtım ve Polimorfizm |
Python ile Veri Analizi | NumPy ile Temel Hesaplamalar, Pandas ile Veri Manipülasyonu, Matplotlib ile Veri Görselleştirme |
Web Geliştirme için Python | Flask vs Django, Basit Bir Web Uygulaması Oluşturma, Web API’leri ile Çalışma |
Python’da Proje Yönetimi | Versiyon Kontrolü (Git), Sanal Ortamlar (Virtual Environments), Proje Yapısı ve İyi Uygulamalar |
Python’da Test Yazma | Birim Testleri (Unit Testing), Test Çerçeveleri (unittest, pytest), Test Yazma İpuçları |
İleri Konular ve Kaynaklar | İleri Python Teknikleri, Python ile Makine Öğrenimi, Öğrenmeye Devam Etmek İçin Kaynaklar |
Sıkça Sorulan Sorular (FAQ) | Python öğrenmek ne kadar sürer?, Hangi projelerde Python kullanılır?, Python ile iş bulma imkanları nelerdir?, Python öğrenirken hangi kaynakları kullanmalıyım?, Python ile hangi diğer diller öğrenilebilir?, Python’da kariyer yapmak için hangi becerilere sahip olmalıyım? |
Python’a Giriş
Python Nedir?
Python, Guido van Rossum tarafından 1991 yılında geliştirilen, yüksek seviyeli, yorumlanmış ve genel amaçlı bir programlama dilidir. Basit ve okunabilir sözdizimi sayesinde, hem yeni başlayanlar hem de profesyoneller tarafından tercih edilmektedir.
Python’un Tarihçesi
Python, 1980’lerin sonlarında geliştirilmeye başlandı ve ilk resmi sürümü 1991’de yayınlandı. O zamandan beri sürekli olarak güncellenerek, modern programlama ihtiyaçlarına uyum sağlamaktadır. Python 2 ve Python 3 gibi ana sürümler arasında önemli farklılıklar bulunmaktadır.
Python’un Özellikleri ve Avantajları
- Okunabilirlik: Python, temiz ve anlaşılır sözdizimi ile kodun kolay okunmasını sağlar.
- Geniş Kütüphane Desteği: Python, çok sayıda standart ve üçüncü parti kütüphaneye sahiptir.
- Çok Yönlülük: Web geliştirme, veri analizi, yapay zeka, bilimsel hesaplamalar gibi birçok alanda kullanılabilir.
- Topluluk Desteği: Büyük ve aktif bir topluluğa sahip olan Python, öğrenme sürecini kolaylaştırır.
Python Kurulumu ve Ortam Ayarları
Python Nasıl Kurulur?
Python’u kurmak için Python’un resmi web sitesinden işletim sisteminize uygun sürümü indirip yükleyebilirsiniz. Kurulum sırasında “Add Python to PATH” seçeneğini işaretlemek, komut satırından Python komutlarını kolayca kullanmanızı sağlar.
Entegre Geliştirme Ortamları (IDE) Seçenekleri
Python programlama için çeşitli IDE’ler bulunmaktadır. En popülerlerinden bazıları şunlardır:
- PyCharm: Profesyonel ve kullanıcı dostu bir IDE.
- Visual Studio Code: Hafif ve geniş eklenti desteği sunan bir editör.
- Jupyter Notebook: Veri analizi ve makine öğrenimi projeleri için ideal.
İlk Python Projenizi Oluşturma
Kurulum tamamlandıktan sonra, ilk Python dosyanızı oluşturmak için bir metin editörü veya IDE kullanabilirsiniz. Örneğin, hello.py
adında bir dosya oluşturup aşağıdaki kodu ekleyebilirsiniz:
print("Merhaba, Python!")
Bu dosyayı çalıştırmak için komut satırına python hello.py
yazabilirsiniz.
Temel Python Sözdizimi
Değişkenler ve Veri Tipleri
Python’da değişkenler, veri saklamak için kullanılır ve dinamik olarak tip belirlenirler.
# Değişken tanımlama
sayi = 10
isim = "Ahmet"
dogru_mu = True
Operatörler
Python, aritmetik, karşılaştırma ve mantıksal operatörler dahil olmak üzere çeşitli operatörler sunar.
# Aritmetik operatörler
toplam = 5 + 3
fark = 10 - 2
# Karşılaştırma operatörleri
esit_mi = (5 == 5) # True
# Mantıksal operatörler
ve_mi = True and False # False
Yorum Satırları ve Kod Düzenleme
Yorum satırları, kodunuzu açıklamak için kullanılır ve #
sembolü ile başlar.
# Bu bir yorum satırıdır
print("Bu satır çalıştırılır")
Kontrol Yapıları
Koşul İfadeleri (if, elif, else)
Koşul ifadeleri, belirli koşullara göre farklı kod bloklarını çalıştırmanıza olanak tanır.
sayi = 10
if sayi > 5:
print("Sayı 5'ten büyük")
elif sayi == 5:
print("Sayı 5'e eşit")
else:
print("Sayı 5'ten küçük")
Döngüler (for, while)
Döngüler, belirli bir koşul sağlandığı sürece kod bloklarını tekrar tekrar çalıştırır.
# for döngüsü
for i in range(5):
print(i)
# while döngüsü
sayi = 0
while sayi < 5:
print(sayi)
sayi += 1
Döngü Kontrol Deyimleri (break, continue)
break
ifadesi döngüyü tamamen sonlandırırken, continue
ifadesi mevcut iterasyonu atlayıp döngünün bir sonraki iterasyonuna geçer.
for i in range(10):
if i == 5:
break
print(i)
for i in range(10):
if i % 2 == 0:
continue
print(i)
Veri Yapıları
Listeler
Listeler, değiştirilebilir ve sıralı veri yapılarıdır.
meyveler = ["elma", "muz", "çilek"]
print(meyveler[0]) # elma
meyveler.append("portakal")
Demetler (Tuples)
Demetler, değiştirilemez ve sıralı veri yapılarıdır.
renkler = ("kırmızı", "yeşil", "mavi")
print(renkler[1]) # yeşil
Sözlükler (Dictionaries)
Sözlükler, anahtar-değer çiftlerinden oluşan değiştirilebilir veri yapılarıdır.
ogrenci = {
"isim": "Ahmet",
"yas": 20,
"bolum": "Bilgisayar Mühendisliği"
}
print(ogrenci["isim"]) # Ahmet
Kümeler (Sets)
Kümeler, benzersiz ve sırasız veri yapılarıdır.
sayilar = {1, 2, 3, 4, 5}
sayilar.add(6)
Fonksiyonlar
Fonksiyon Tanımlama
Fonksiyonlar, belirli bir görevi yerine getiren kod bloklarıdır.
def merhaba_de():
print("Merhaba!")
merhaba_de() # Merhaba!
Parametreler ve Argümanlar
Fonksiyonlara parametreler ekleyerek daha dinamik hale getirebilirsiniz.
def topla(a, b):
return a + b
sonuc = topla(5, 3)
print(sonuc) # 8
Geri Dönüş Değerleri
Fonksiyonlar, return
ifadesi ile değer döndürebilirler.
def kare_al(x):
return x * x
print(kare_al(4)) # 16
Lambda Fonksiyonları
Lambda fonksiyonları, tek satırlık anonim fonksiyonlardır.
kare = lambda x: x * x
print(kare(5)) # 25
Modüller ve Paketler
Modül Nedir?
Modüller, belirli işlevleri yerine getiren Python dosyalarıdır ve kodun yeniden kullanılabilirliğini artırır.
import math
print(math.sqrt(16)) # 4.0
Standart Kütüphaneler
Python, çok sayıda standart kütüphane ile birlikte gelir. Örneğin, math
, datetime
, os
gibi kütüphaneler yaygın olarak kullanılır.
Üçüncü Parti Kütüphanelerin Kullanımı
pip
komutu ile üçüncü parti kütüphaneleri kolayca yükleyebilirsiniz.
pip install requests
import requests
response = requests.get("https://www.example.com")
print(response.status_code)
Hatalar ve İstisna Yönetimi
Hata Türleri
Python’da çeşitli hata türleri bulunmaktadır, örneğin SyntaxError
, TypeError
, ValueError
gibi.
Try, Except Blokları
Hataları yakalamak ve yönetmek için try
ve except
blokları kullanılır.
try:
sayi = int(input("Bir sayı girin: "))
print(sayi)
except ValueError:
print("Geçersiz bir sayı girdiniz.")
Özel İstisnalar Yaratma
Kendi hata türlerinizi tanımlayabilirsiniz.
class NegatifSayiHatasi(Exception):
pass
def karekok_al(x):
if x < 0:
raise NegatifSayiHatasi("Negatif sayı için karekök alınamaz.")
return x ** 0.5
try:
print(karekok_al(-4))
except NegatifSayiHatasi as e:
print(e)
Dosya İşlemleri
Dosya Açma ve Kapatma
Python’da dosya işlemleri için open
fonksiyonu kullanılır.
dosya = open("ornek.txt", "w")
dosya.write("Merhaba, Python!")
dosya.close()
Dosya Okuma ve Yazma
Dosyaları okuma ve yazma işlemleri için farklı modlar kullanılabilir.
# Yazma modu
with open("ornek.txt", "w") as dosya:
dosya.write("Merhaba, Python!")
# Okuma modu
with open("ornek.txt", "r") as dosya:
icerik = dosya.read()
print(icerik) # Merhaba, Python!
Dosya ve Klasör Yönetimi
os
ve shutil
kütüphaneleri ile dosya ve klasör yönetimi yapılabilir.
import os
# Klasör oluşturma
os.mkdir("yeni_klasor")
# Klasör silme
os.rmdir("yeni_klasor")
Nesne Yönelimli Programlama (OOP) Temelleri
Sınıflar ve Nesneler
Python’da OOP, sınıflar ve nesneler aracılığıyla gerçekleştirilir.
class Araba:
def __init__(self, marka, model):
self.marka = marka
self.model = model
def bilgileri_goster(self):
print(f"Araba Markası: {self.marka}, Modeli: {self.model}")
araba1 = Araba("Toyota", "Corolla")
araba1.bilgileri_goster()
Özellikler ve Metodlar
Sınıflar, özellikler (değişkenler) ve metodlar (fonksiyonlar) içerir.
Kalıtım ve Polimorfizm
Kalıtım, bir sınıfın başka bir sınıfın özelliklerini devralmasıdır. Polimorfizm ise farklı sınıfların aynı metodu farklı şekillerde kullanabilmesidir.
class ElektrikliAraba(Araba):
def __init__(self, marka, model, batarya_kapasitesi):
super().__init__(marka, model)
self.batarya_kapasitesi = batarya_kapasitesi
def bilgileri_goster(self):
super().bilgileri_goster()
print(f"Batarya Kapasitesi: {self.batarya_kapasitesi} kWh")
el_araba = ElektrikliAraba("Tesla", "Model S", 100)
el_araba.bilgileri_goster()
Python ile Veri Analizi
NumPy ile Temel Hesaplamalar
NumPy, sayısal hesaplamalar için kullanılan güçlü bir kütüphanedir.
import numpy as np
dizi = np.array([1, 2, 3, 4, 5])
print(dizi.mean()) # Ortalama: 3.0
Pandas ile Veri Manipülasyonu
Pandas, veri analizi ve manipülasyonu için kullanılır.
import pandas as pd
veri = {
"İsim": ["Ahmet", "Mehmet", "Ayşe"],
"Yaş": [25, 30, 22]
}
df = pd.DataFrame(veri)
print(df)
Matplotlib ile Veri Görselleştirme
Matplotlib, veri görselleştirme için kullanılan bir kütüphanedir.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 40]
plt.plot(x, y)
plt.xlabel('X Ekseni')
plt.ylabel('Y Ekseni')
plt.title('Basit Grafik')
plt.show()
Web Geliştirme için Python
Flask vs Django
Flask ve Django, Python ile web geliştirme için en popüler frameworklerdir. Flask, hafif ve esnek yapısıyla küçük projeler için idealken, Django daha büyük ve kompleks projeler için uygundur.
Basit Bir Web Uygulaması Oluşturma
Flask ile basit bir web uygulaması oluşturabilirsiniz.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def anasayfa():
return "Merhaba, Flask!"
if __name__ == '__main__':
app.run(debug=True)
Web API’leri ile Çalışma
Python, RESTful API’ler oluşturmak için de kullanılabilir.
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/data')
def data():
return jsonify({"isim": "Ahmet", "yas": 25})
if __name__ == '__main__':
app.run(debug=True)
Python’da Proje Yönetimi
Versiyon Kontrolü (Git)
Git, projelerinizi yönetmek ve sürüm kontrolü sağlamak için kullanılır.
git init
git add .
git commit -m "İlk commit"
Sanal Ortamlar (Virtual Environments)
Sanal ortamlar, projeler arasında bağımlılıkları izole etmek için kullanılır.
python -m venv myenv
source myenv/bin/activate # Linux/Mac
myenv\Scripts\activate # Windows
Proje Yapısı ve İyi Uygulamalar
Projelerinizi düzenli ve sürdürülebilir hale getirmek için iyi bir yapı oluşturmalısınız. Örneğin:
proje/
│
├── src/
│ ├── __init__.py
│ ├── main.py
│ └── module.py
│
├── tests/
│ └── test_module.py
│
├── requirements.txt
└── README.md
Python’da Test Yazma
Birim Testleri (Unit Testing)
Birim testleri, kodunuzun küçük parçalarını test etmek için kullanılır.
import unittest
def topla(a, b):
return a + b
class TestTopla(unittest.TestCase):
def test_topla(self):
self.assertEqual(topla(2, 3), 5)
if __name__ == '__main__':
unittest.main()
Test Çerçeveleri (unittest, pytest)
Python’da yaygın olarak kullanılan test çerçeveleri unittest
ve pytest
‘tir.
Test Yazma İpuçları
- Her fonksiyon için en az bir test yazın.
- Pozitif ve negatif senaryoları test edin.
- Kod kapsama oranını artırmaya çalışın.
İleri Konular ve Kaynaklar
İleri Python Teknikleri
- Decorator’lar: Fonksiyonların davranışını değiştirmek için kullanılır.
- Generator’lar: Büyük veri setlerini yönetmek için kullanılır.
- Context Manager’lar: Kaynak yönetimini kolaylaştırır.
Python ile Makine Öğrenimi
Python, makine öğrenimi ve yapay zeka alanında yaygın olarak kullanılır. scikit-learn
, TensorFlow
, Keras
gibi kütüphaneler bu alanda öne çıkar.
Öğrenmeye Devam Etmek İçin Kaynaklar
- Resmi Python Belgeleri: python.org
- Online Kurslar: Coursera, Udemy gibi platformlarda Python kursları.
- Topluluklar ve Forumlar: Stack Overflow, Reddit gibi platformlarda Python topluluklarına katılabilirsiniz.
Sıkça Sorulan Sorular (FAQ)
Python öğrenmek ne kadar sürer?
Python öğrenme süresi kişisel öğrenme hızınıza ve ne kadar vakit ayırdığınıza bağlı olarak değişir. Temel bilgileri birkaç hafta içinde edinebilirken, ileri düzey konuların öğrenilmesi birkaç ay sürebilir.
Hangi projelerde Python kullanılır?
Python, web geliştirme, veri analizi, yapay zeka, otomasyon, oyun geliştirme ve daha birçok alanda kullanılmaktadır.
Python ile iş bulma imkanları nelerdir?
Python, yazılım geliştirme, veri bilimi, makine öğrenimi ve otomasyon gibi alanlarda geniş iş imkanları sunmaktadır. Talep gören beceriler arasında Python bilgisi, veri analizi ve web geliştirme yer alır.
Python öğrenirken hangi kaynakları kullanmalıyım?
Resmi Python belgeleri, online kurslar, kitaplar ve interaktif platformlar (Codecademy, Coursera) Python öğrenmek için ideal kaynaklardır.
Python ile hangi diğer diller öğrenilebilir?
Python öğrendikten sonra, JavaScript (web geliştirme), C++ (sistem programlama), veya R (veri bilimi) gibi dilleri öğrenebilirsiniz.
Python’da kariyer yapmak için hangi becerilere sahip olmalıyım?
İyi bir Python programcısı olmak için temel Python bilgisi, veri yapıları, algoritmalar, web geliştirme veya veri analizi gibi alanlarda uzmanlık, ve problem çözme becerilerine sahip olmalısınız.
Sonuç
Python, esnekliği, okunabilirliği ve geniş kütüphane desteği ile programlama dünyasında önemli bir yere sahiptir. Bu makalede, Python’a sıfırdan başlayarak temel dersler aracılığıyla temel kavramları öğrenmenize yardımcı olduk. Düzenli pratik yaparak ve projeler geliştirerek Python becerilerinizi daha da geliştirebilirsiniz. Unutmayın, programlama öğrenme süreci sürekli bir yolculuktur ve her adımda daha da güçlenirsiniz.
Kaynaklar:
Bu rehber, “Sıfırdan Python: Yeni Başlayanlar İçin Temel Dersler” konusunu derinlemesine ele alarak, Python öğrenmeye başlayanların bilinçli ve etkili bir şekilde ilerlemelerine yardımcı olmayı amaçlamaktadır. Python’un sunduğu geniş imkanlardan yararlanarak, yazılım dünyasında sağlam adımlarla ilerleyebilirsiniz.