Skip to main content

Başlangıç Seviyesi için Uygulamalı Python Eğitimi

Giriş

Python, hızla dünyanın en popüler programlama dillerinden biri haline gelmiştir ve bunun çok iyi sebepleri vardır.
Temiz sözdizimi, çok yönlülüğü ve sürekli büyüyen kütüphane ekosistemi ile hem yeni başlayanlar hem de profesyoneller için mükemmel bir seçenektir.
İster web geliştirme, veri analizi, otomasyon veya yapay zeka gibi alanlara adım atıyor olun, Python size hızlı ve etkili bir şekilde başlamanızı sağlayacak araçlar ve topluluk desteği sunar.

Bu başlangıç dostu eğitim yazısı, Python programlamaya ilk adımlarınızı atmanıza yardımcı olmak için tasarlandı.
Python'u yüklemek ve ilk kod satırlarınızı yazmaktan, değişkenler, veri tipleri, koşullar, döngüler ve fonksiyonları anlamaya kadar temel bilgileri adım adım size göstereceğiz.
Önceden programlama deneyimi gerekmez, sadece merak ve öğrenmeye istekli olmanız yeterli.

Neden Python Programlamayı Öğrenmelisiniz?

  • Basit ve anlaşılır: Python programlama dili çok basit, zarif ve İngilizce'ye benzer bir yapıya sahiptir. Öğrenmesi oldukça kolaydır ve IT kariyerinize başlamak için harika bir seçimdir.
  • Açık kaynaklı: Python açık kaynaklıdır, bu da onu genişletip, üzerinde yaratıcı projeler yapmanıza olanak tanır.
  • Büyük bir topluluk desteği: Python'un çok geniş bir destek topluluğu vardır. Stack Overflow'da Python kategorisinde bir milyondan fazla soru bulunmaktadır.
  • Ücretsiz modüller ve paketler: Her gelişim alanında size yardımcı olabilecek tonlarca ücretsiz modül ve paket bulunmaktadır.
  • Makine Öğrenimi ve Yapay Zeka: Çoğu Makine Öğrenimi (Machine Learning), Veri Bilimi (Data Science), Grafikler ve Yapay Zeka (Artificial Intelligence) API'leri Python üzerine inşa edilmiştir. Yani, bu keskin teknolojilerle çalışmak istiyorsanız Python harika bir seçimdir.
  • Geniş kullanım alanı: Python, dünya çapında neredeyse her büyük şirket tarafından kullanılmaktadır. Python biliyorsanız iş bulma şansınız çok daha yüksektir.
  • Sınırsız kullanım alanı: Python programlamanın hiçbir sınırlaması yoktur.Web uygulamaları, oyun geliştirme, kriptografi, blockchain, bilimsel hesaplamalar, grafikler ve birçok alanda kullanılabilir.

Python Temelleri

Python sisteminize yüklendikten sonra başlayabileceğiniz bazı temel komutlar şunlardır:

Her dilde olduğu gibi, "Merhaba Dünya" yazdırmak ilk adımdır. Bu, konsola bir mesaj yazdırmanın en basit yoludur.

print("Merhaba Dünya")

Python'da değişkenler ve veri tipleri, veriyle işlem yapmanın temel yapı taşlarıdır. İşte bazı temel veri tipleri:

isim = "Eray" #Stringer
yas = 24 #Integer
boy = 1.8 #Float
ogrenci_mi = False #Boolean

Python'da yorumlar, kodunuzu açıklamak ve belgelemenize yardımcı olmak için kullanılır. Yorumlar, Python tarafından göz ardı edilir ve kodun çalışmasına etki etmez.

# Bu bir tek satırlık yorumdur

"""
Bu çok satırlı bir yorumdur.
Kodunuzu açıklamak için birden fazla satırda yorum yazabilirsiniz.
"""

Python'da girdi almak için input() fonksiyonu, çıktı göstermek için ise print() fonksiyonu kullanılır.

isim = input("İsminizi Giriniz: ")
print("Merhaba,", isim)

Kontrol Akışı

Koşul ifadeleri

Koşul ifadeleri, belirli bir koşula göre farklı işlemler yapmamızı sağlar. Bu işlemler if, elif ve else anahtar kelimeleri ile gerçekleştirilir.

yas = 20

if yas > 18:
print("Yetişkin")
elif yas == 18:
print("Yeni yetişkin oldu")
else:
print("Reşit değil")

Döngüler

Python'da iki tür döngü vardır:

1-for döngüsü, belirli bir sayıda tekrar yapılmasını sağlar. Bu döngü genellikle range() gibi fonksiyonlarla kullanılır.

2-while döngüsü, belirli bir koşul doğru olduğu sürece çalışır. Koşul True olduğu sürece döngü devam eder.

# For Döngüsü
for i in range(5):
print(i)

# While Döngüsü
count = 0
while count < 5:
print(count)
count += 1

Fonksiyonlar

Fonksiyonlar, tekrar kullanılabilir kod bloklarıdır. Python'da fonksiyonları tanımlamak için def anahtar kelimesi kullanılır.

def selam(isim):
return f"Merhaba, {isim}!"

mesaj = selam("Alice")
print(mesaj)

Varsayılan ve Anahtar Kelime Argümanları

Bu argümanlar, fonksiyon çağrılarını daha esnek hale getirir (örneğin, greet(name="Guest")).

def selamla(isim="Misafir"):
print("Merhaba,", isim)

selamla() # Varsayılan değeri kullanarak "Misafir" olarak yazdırır
selamla("Bob") # "Bob" ismini kullanarak selam verir

Lambda Fonksiyonları

Python'da lambda fonksiyonları, küçük ve anonim fonksiyonlardır ve lambda anahtar kelimesiyle tanımlanır.
Genellikle kısa ve geçici (tek kullanımlık) fonksiyonlar için kullanılırlar ve başka yerlerde yeniden kullanılmazlar.
Bir lambda fonksiyonu, herhangi bir sayıda argüman alabilir ancak sadece tek bir ifade içerebilir.

carp = lambda x: x * 2
print(carp(5))

Veri Yapıları

Veri yapıları, Python'da verileri düzenli ve verimli bir şekilde depolamak ve organize etmek için kullanılan konteynerlerdir.
Bu yapılar, geliştiricilerin verilere düzenli bir şekilde erişmesini ve verilerle anlamlı işlemler yapmasını sağlar.
Python, çeşitli kullanımlara uygun birden fazla yerleşik veri yapısı sağlar: listeler, demetler, sözlükler ve kümeler.

Listeler

Listeler, sıralı ve değiştirilebilir (mutable) öğe koleksiyonlarıdır. Farklı veri tiplerinde öğeler depolayabilirler.
Liste öğeleri üzerinde ekleme, silme veya değiştirme işlemleri yapmak için yerleşik metodlar kullanabilirsiniz.
Listeler, veri sıralamalarıyla çalışmanız gerektiğinde sıklıkla tercih edilir.

meyveler = ["Elma", "Armut", "Muz"]
print(meyveler)

Demetler (Tuples)

Demetler, sıralı ve değiştirilemez (immutable) koleksiyonlardır. Farklı veri tiplerinden öğeleri de depolayabilirler.
Bir kez oluşturulduktan sonra, bir demetin içeriği değiştirilemez. Bu özellik, demetlerin sabit verileri saklamak veya veri bütünlüğünü sağlamak için faydalı olmasını sağlar.

renkler = ("Kırmızı", "Yeşil", "Mavi")
print(renkler)

Sözlükler (Dictionaries)

Sözlükler, anahtar-değer (key-value) çiftlerinden oluşan sırasız koleksiyonlardır. Bu yapı, veriye hızlı bir şekilde erişim ve veri alma işlemleri sağlar.
Her anahtar (key) benzersiz olmalıdır, ancak değerler (value) herhangi bir veri tipi olabilir. Sözlükler, ilişkili verileri saklamak için idealdir, örneğin bir nesnenin özellikleri.

kisi = {"ad": "Ahmet", "yas": 25, "sehir": "İstanbul"}
print(kisi)

Kümeler (Sets)

Kümeler, sırasız ve benzersiz öğelerden oluşan koleksiyonlardır. Kümeler, genellikle üyelik testi yapmak ve yinelenen öğeleri kaldırmak için kullanılır. Ayrıca, kümeler matematiksel işlemleri destekler, örneğin birleşim (union), kesişim (intersection) ve fark (difference) gibi.

Örnek:

essiz_sayı = {1, 2, 3, 4}
print(essiz_sayı)

Dosya İşlemleri

Python'da dosya işlemleri, sisteminizdeki dosyalardan veri okuma ve dosyalara veri yazma işlemlerini yapmanıza olanak tanır.
Bu özellik, veri kaydetme, olayları günlüğe kaydetme veya konfigürasyon dosyalarını okuma gibi işlemler için oldukça kullanışlıdır.
Python, yerleşik open() fonksiyonu ve güvenli dosya erişimi için with gibi bağlam yöneticilerini kullanarak dosya işlemlerini basit ve verimli hale getirir.

dosya = open("ornek.txt", "w")  # Dosya yazma (write) modunda açılır
dosya.write("Merhaba, Python!") # Dosyaya yazı yazılır
dosya.close() # Dosya kapatılır

Hata Yönetimi

Python'da hata yönetimi, try, except, ve finally blokları kullanılarak yapılan bir işlemdir. Bu yapılar, hataları düzgün bir şekilde yakalamaya ve yönetmeye yardımcı olur.
Hata yönetimi, programların beklenmedik şekilde çökmesini engellemeye yardımcı olur ve farklı hata türlerine uygun şekilde yanıt vermenizi sağlar.
Bu, sağlam ve güvenilir kod yazmanın temel bir parçasıdır.

try:
result = 10 / 0
except ZeroDivisionError:
print("Sıfıra bölme yapamazsınız!")
finally:
print("Bu blok her zaman çalışır.")

Modüller ve Paketler

Modülleri İçe Aktarma

Modüller, önceden yazılmış ve programınızda tekrar kullanabileceğiniz kod parçalarıdır. Python, math, datetime, ve os gibi standart kütüphanelerle birlikte gelir. Bu modüller, çeşitli görevler için faydalı fonksiyonlar sağlar.
Ayrıca, üçüncü taraf modülleri de yükleyebilir veya kendi modüllerinizi yazabilirsiniz.

import math  # math modülünü içe aktarır
print(math.sqrt(16)) # 16'nın karekökünü alır, çıktı: 4.0

Kendi Modülünüzü Oluşturma

Python'da kendi modülünüzü oluşturmak, fonksiyonları bir .py dosyasına kaydederek ve bu dosyayı diğer betiklerde içe aktararak mümkündür.
Bu, özellikle büyük projelerde kodun yeniden kullanılabilirliğini ve organizasyonunu artırır.
Özel modüller, yerleşik veya üçüncü taraf modüller gibi çalışır.

Kendi Modülünüzü Oluşturma

  1. Bir modül dosyası oluşturun:
    • Örneğin, mymodule.py adında bir dosya oluşturun.
def selamla(isim):
print(f"Merhaba, {isim}!")

def toplama(a, b):
return a + b
import mymodule  # mymodule.py'yi içe aktarır

# mymodule içindeki fonksiyonları kullanabilirsiniz.
mymodule.selamla("Ahmet") # "Merhaba, Ahmet!" yazdırır

sonuc = mymodule.toplama(3, 5)
print(sonuc) # Çıktı: 8

Popüler Python Kütüphaneleri

Python'un ekosistemi, karmaşık görevleri basitleştiren ve dilin yeteneklerini genişleten zengin kütüphanelerle doludur.
Bu kütüphaneler, veri bilimi, makine öğrenimi, web geliştirme ve otomasyon gibi alanlarda yaygın olarak kullanılır.
Aşağıda, her başlangıcın tanıması gereken bazı temel Python kütüphanelerini bulabilirsiniz.

NumPy

NumPy (Numerical Python), dizilerle çalışmak ve sayısal hesaplamalar yapmak için kullanılan bir kütüphanedir.
Büyük, çok boyutlu diziler ve çok çeşitli matematiksel işlemler için destek sağlar. NumPy, bilimsel hesaplamada temeldir ve veri analizi ve makine öğrenimi gibi alanlarda yaygın olarak kullanılır.

Temel Özellikler

  • Dizi (Array): NumPy, Python'un yerleşik liste türünden çok daha verimli bir dizi veri yapısı sağlar. Diziler, büyük veri kümeleriyle çalışmayı çok daha hızlı hale getirir.
  • Matematiksel İşlemler: NumPy, matematiksel fonksiyonlar (toplama, çıkarma, çarpma, bölme vb.) ve daha karmaşık işlemler (matris çarpma, lineer cebir, Fourier dönüşümü vb.) için geniş bir fonksiyon yelpazesi sunar.
  • Çok Boyutlu Diziler: NumPy, çok boyutlu diziler (matrisler) ile çalışmanıza olanak tanır.
import numpy as np
dizi = np.array([1, 2, 3])
print(dizi * 2) # Çıktı: [2 4 6]

Pandas

Pandas, NumPy üzerine inşa edilmiş güçlü bir veri manipülasyonu ve analiz kütüphanesidir.
Pandas, verileri yüklemeyi, analiz etmeyi ve görselleştirmeyi kolaylaştıran iki ana veri yapısı sunar: Series ve DataFrame.
Veri bilimcileri ve analistleri için, özellikle tabular verilerle çalışırken vazgeçilmez bir araçtır.

import pandas as pd

# DataFrame oluşturma
data = {"name": ["Alice", "Bob"], "age": [25, 30]}
df = pd.DataFrame(data)

# DataFrame'i yazdırma
print(df)

Matplotlib

Matplotlib, Python'da statik, animasyonlu ve etkileşimli görselleştirmeler oluşturmanıza olanak tanıyan bir grafik kütüphanesidir.
Özellikle çizgi grafikler, bar grafikler, histogramlar ve dağılım (scatter) grafikler gibi görselleri oluşturmak için kullanılır.
Genellikle Pandas ve NumPy ile birlikte veri görselleştirmeleri yapmak için tercih edilir.

import matplotlib.pyplot as plt

# Çizgi grafiği oluşturma
plt.plot([1, 2, 3], [4, 5, 6])

# Grafiği gösterme
plt.show()

Sonuç

Bu Python rehberi, dili keşfetmek için güçlü bir temel sunmaktadır. Ancak, Python'u gerçekten öğrenmek ve kullanmaya güven kazanmak için sürekli pratik yapmak çok önemlidir.
Python, başlangıç dostu, çok yönlü ve güçlü bir programlama dilidir. Veri bilimi, makine öğrenimi, web geliştirme ve otomasyon gibi birçok alanda size yardımcı olacaktır.

Bu eğitimde, Python'un temellerine dair kapsamlı bir yol haritası sunduk. Bunlar arasında sözdizimi (syntax), veri yapıları, kontrol akışı, fonksiyonlar, dosya ve hata yönetimi ve temel kütüphaneler bulunmaktadır.
Bu temel kavramları öğrenerek, kendinizi gerçek dünya problemlerini çözmek için gerekli araçlarla donatmış oluyorsunuz ve daha spesifik alanlara adım atabilirsiniz.

Becerilerinizi geliştirmek için küçük projeler yapmaya, daha fazla kütüphane keşfetmeye ve açık kaynak projelerine katkıda bulunmaya devam edin.
Bu, bir Python geliştiricisi olarak becerilerinizi ve güveninizi arttırmanın en iyi yoludur. Pratik yapmaya ve projeler geliştirmeye devam ederek anlayışınızı derinleştirin.