Python'ın ne olduğunu, neden popüler olduğunu, temel sözdizimini ve değişken kavramını öğreneceğiz. Ayrıca basit bir "Merhaba Dünya" programı yazacağız.
Python, 1991 yılında Guido van Rossum tarafından geliştirilen, yüksek seviyeli, yorumlanan, genel amaçlı bir programlama dilidir. Okunabilirliği ve basit sözdizimi ile öne çıkar.
Python, öğrenmesi kolay bir dildir ve geniş bir kütüphane ekosistemine sahiptir. Web geliştirme, veri bilimi, yapay zeka, makine öğrenmesi, otomasyon ve daha birçok alanda kullanılır.
Python'da noktalı virgül kullanılmaz ve bloklar girintilerle (indentation) belirtilir. Bu Python'u diğer dillerden ayıran önemli bir özelliktir.
Python'da değişkenler tanımlanırken veri tipi belirtmeye gerek yoktur. Temel veri tipleri:
int: Tam sayılar (42)float: Ondalıklı sayılar (3.14)str: Karakter dizileri ("Merhaba")bool: Mantıksal değerler (True/False)# Bu bir yorum satırıdır
# Merhaba Dünya programı
print("Merhaba Dünya!")
# Değişken tanımlama
mesaj = "Python öğreniyorum"
print(mesaj)
# Temel işlemler
sayi1 = 10
sayi2 = 5
toplam = sayi1 + sayi2
print("Toplam:", toplam)
Kullanıcıdan adını alıp ekrana "Merhaba [Ad], Python'a hoş geldin!" şeklinde bir mesaj yazdıran bir program yazın. Kullanıcıdan veri almak için input() fonksiyonunu kullanabilirsiniz.
x = 5
y = "10"
print(x + int(y))
Bugün Python'da karar verme mekanizmalarını (if-elif-else) ve döngüleri (for, while) öğreneceğiz. Bu yapılar programlamanın temel yapı taşlarıdır.
Python'da koşullu ifadeler programın akışını kontrol etmek için kullanılır. Temel yapı:
if koşul1:
# koşul1 doğruysa çalışacak kodlar
elif koşul2:
# koşul2 doğruysa çalışacak kodlar
else:
# yukarıdaki koşullardan hiçbiri doğru değilse çalışacak kodlar
Koşullu ifadelerde kullanılan operatörler:
==: Eşit mi?!=: Eşit değil mi?>: Büyük mü?<: Küçük mü?>=: Büyük veya eşit mi?<=: Küçük veya eşit mi?Python'da iki temel döngü türü vardır: for ve while.
# Liste üzerinde döngü
meyveler = ["elma", "armut", "muz"]
for meyve in meyveler:
print(meyve)
# range() fonksiyonu ile
for i in range(5): # 0'dan 4'e kadar
print(i)
# While döngüsü örneği
sayac = 0
while sayac < 5:
print("Sayac:", sayac)
sayac += 1 # sayac = sayac + 1
1'den 100'e kadar olan sayıları yazdıran bir program yazın. Ancak 3'ün katları için "Fizz", 5'in katları için "Buzz", hem 3 hem de 5'in katları için "FizzBuzz" yazdırın (FizzBuzz problemi).
x = 10
if x > 5:
print("A")
elif x > 8:
print("B")
else:
print("C")
Bugün kod tekrarını önlemek ve programları modüler hale getirmek için fonksiyonları, ayrıca Python'daki hazır modülleri kullanmayı öğreneceğiz.
Fonksiyonlar, belirli bir işlevi yerine getirmek için yazılan ve tekrar tekrar kullanılabilen kod bloklarıdır. Python'da def anahtar kelimesi ile tanımlanır.
# Basit bir fonksiyon tanımı
def merhaba_de():
print("Merhaba!")
# Fonksiyonu çağırma
merhaba_de()
# Parametre alan fonksiyon
def topla(a, b):
return a + b
sonuc = topla(5, 3)
print("Toplam:", sonuc)
# Varsayılan parametreli fonksiyon
def selam_ver(isim="Misafir"):
print("Merhaba", isim)
selam_ver() # Varsayılan parametre kullanılır
selam_ver("Ahmet")
Modüller, Python kodlarını mantıksal olarak gruplandırmak ve tekrar kullanılabilirliği artırmak için kullanılır. Python standart kütüphanesinde birçok hazır modül bulunur.
# math modülünü kullanma
import math
print("Karekök:", math.sqrt(16))
print("Pi sayısı:", math.pi)
# Modülden belirli fonksiyonları import etme
from random import randint
print("Rastgele sayı:", randint(1, 100))
Bir sayının faktöriyelini hesaplayan bir fonksiyon yazın. Daha sonra bu fonksiyonu kullanarak 1'den 10'a kadar olan sayıların faktöriyellerini yazdırın. (İpucu: Faktöriyel, bir sayının 1'den kendisine kadar olan sayıların çarpımıdır. Örneğin 5! = 5×4×3×2×1 = 120)
def carp(a, b=2):
return a * b
print(carp(3))
print(carp(3, 4))
Bugün Python'da veri koleksiyonlarını temsil etmek için kullanılan listeler (lists) ve demetleri (tuples) öğreneceğiz. Ayrıca bu veri yapıları üzerinde işlem yapmayı göreceğiz.
Listeler, Python'da sıralı ve değiştirilebilir (mutable) veri koleksiyonlarını temsil etmek için kullanılır. Köşeli parantezler [] ile oluşturulur.
# Liste oluşturma
meyveler = ["elma", "muz", "kiraz"]
sayilar = [1, 2, 3, 4, 5]
# Liste elemanlarına erişim
print(meyveler[0]) # İlk eleman (indeks 0)
print(meyveler[-1]) # Son eleman
# Liste dilimleme (slicing)
print(sayilar[1:4]) # 1. indeksten 4. indekse kadar (4 dahil değil)
print(sayilar[:3]) # Baştan 3. indekse kadar
print(sayilar[2:]) # 2. indeksten sona kadar
# Liste işlemleri
meyveler.append("üzüm") # Listeye eleman ekleme
meyveler.remove("muz") # Eleman silme
print("Uzunluk:", len(meyveler)) # Liste uzunluğu
Demetler, listelere benzer ancak değiştirilemez (immutable) veri yapılarıdır. Normal parantezler () ile oluşturulur.
# Demet oluşturma
renkler = ("kırmızı", "yeşil", "mavi")
# Demet elemanlarına erişim
print(renkler[1])
# Demetler değiştirilemez
# renkler[1] = "sarı" # Hata verir!
# Demet açma (unpacking)
x, y, z = renkler
print(y)
Bir liste içinde 10 adet sayı tutun. Daha sonra bu listedeki en büyük ve en küçük sayıyı bulan, ayrıca listenin ortalamasını hesaplayan bir program yazın. (İpucu: max(), min() ve sum() fonksiyonlarını kullanabilirsiniz)
liste = [1, 2, 3]
demet = (4, 5, 6)
liste[1] = 9
# demet[1] = 9 # Bu satır yorum satırı
print(liste[1] + demet[1])
Bugün Python'da veri yapılarından sözlükleri (dictionaries) ve kümeleri (sets) öğreneceğiz. Bu yapılar verileri farklı şekillerde organize etmemizi sağlar.
Sözlükler, anahtar-değer (key-value) çiftlerinden oluşan veri yapılarıdır. Süslü parantezler {} ile oluşturulur.
# Sözlük oluşturma
ogrenci = {
"ad": "Ahmet",
"yas": 20,
"bolum": "Bilgisayar Mühendisliği"
}
# Sözlük elemanlarına erişim
print(ogrenci["ad"])
print(ogrenci.get("yas"))
# Sözlüğe eleman ekleme/güncelleme
ogrenci["numara"] = "123456"
ogrenci["yas"] = 21
# Sözlük işlemleri
print("Anahtarlar:", ogrenci.keys())
print("Değerler:", ogrenci.values())
print("Çiftler:", ogrenci.items())
# Sözlük içinde arama
if "bolum" in ogrenci:
print("Bölüm:", ogrenci["bolum"])
Kümeler, benzersiz elemanlardan oluşan sırasız koleksiyonlardır. Süslü parantezler {} veya set() fonksiyonu ile oluşturulur.
# Küme oluşturma
meyveler = {"elma", "muz", "kiraz"}
sayilar = set([1, 2, 3, 2, 1]) # Tekrar edenler silinir
# Küme işlemleri
meyveler.add("üzüm")
meyveler.remove("muz")
# Küme operasyonları
a = {1, 2, 3}
b = {3, 4, 5}
print("Birleşim:", a.union(b))
print("Kesişim:", a.intersection(b))
print("Fark:", a.difference(b))
Bir metin içindeki kelimelerin frekansını hesaplayan bir program yazın. Program, bir metin alacak ve her kelimenin kaç kez geçtiğini bir sözlükte saklayacak. (İpucu: Metni kelimelere ayırmak için split() metodunu kullanabilirsiniz)
sozluk = {"a": 1, "b": 2, "c": 3}
kume = {1, 2, 3, 3, 2}
print(len(sozluk) + len(kume))