Bir cümlelik özet
Bir modül, başkalarının önceden yazdığı hazır kodların bulunduğu bir dosyadır; import komutuyla bu kodları kendi programımıza çağırıp yeniden yazmadan kullanırız.
Neden önemli?
Şimdiye kadar yazdığın her satırı kendin yazdın. Bu iyi bir başlangıç; ama karekök hesaplamak, rastgele sayı üretmek veya bugünün tarihini bulmak gibi işleri her seferinde sıfırdan yazmak çok yorucu olurdu.
İyi haber şu: Bu işlerin çoğunu senden önce başka insanlar yazıp düzenli paketler hâline getirmiş. Bu paketlere modül ve kütüphane diyoruz. Onları çağırdığımızda, hazır ve test edilmiş kodları kendi programımızda kullanırız.
Bir örnekle düşünelim: Mutfakta yemek yaparken tuzu, unu ve şekeri her seferinde kendin üretmezsin. Dolaptan hazır olanı alır, işine odaklanırsın. Modüller de kod dünyasının dolabı gibidir. Ben bunu öğrenirken en çok şuna şaşırdım: Tek bir satır import yazınca yüzlerce hazır komut birden kullanılabilir hâle geliyor.
Modülleri kullanmanın iki büyük faydası var. Birincisi, zaman kazanırız; çünkü karmaşık işleri sıfırdan kurmayız. İkincisi, daha az hata yaparız; çünkü bu kodlar bizden önce binlerce kişi tarafından denenmiş ve düzeltilmiştir. Yani modül kullanmak tembellik değil, akıllıca çalışmaktır.
Modül nedir ve import nasıl çalışır?
Bir modül, içinde hazır fonksiyonların ve değerlerin bulunduğu bir Python dosyasıdır. Bu dosyayı programımıza almak için import (içeri al) komutunu kullanırız.
En temel biçim: import
Python ile birlikte gelen math (matematik) modülünü çağıralım. Modülü çağırdıktan sonra, içindeki bir aracı kullanmak için modül adı + nokta + araç adı yazarız.
import math
sonuc = math.sqrt(16)
print(sonuc)
Bu program 4.0 yazar. math.sqrt ifadesi "math modülünün sqrt aracı" demektir; sqrt de "square root", yani karekök. Nokta işareti "şunun içindeki" anlamına gelir.
Aynı modülde başka hazır değerler de var:
import math
print(math.pi)
print(math.sqrt(144))
Bu program önce yaklaşık 3.141592653589793, sonra 12.0 yazar. math.pi bizim için önceden hesaplanmış pi sayısıdır; onu kendimiz yazmak zorunda kalmayız.
Diğer bir biçim: from ... import ...
Bazen bir modülün sadece tek bir aracına ihtiyaç duyarız. O zaman yalnız o aracı alabiliriz. Böylece her seferinde modül adını yazmamıza gerek kalmaz.
from math import sqrt
print(sqrt(81))
Bu program 9.0 yazar. Dikkat et: Burada math.sqrt değil, doğrudan sqrt yazdık; çünkü aracı isimle içeri aldık. İki biçim de doğrudur, ikisi de aynı işi yapar.
Standart kütüphaneden üç kullanışlı modül
Python kurulduğunda beraberinde birçok hazır modül gelir. Bunların tümüne birlikte standart kütüphane denir. Bir kütüphane, birbirine yakın modüllerin oluşturduğu daha büyük bir topluluktur. Üçünü tanıyalım.
1. random — rastgelelik
Önceki derste rastgeleliği tanımıştın. O rastgelelik random modülünden geliyordu.
import random
zar = random.randint(1, 6)
print("Zar:", zar)
random.randint(1, 6) her çalıştığında 1 ile 6 arasında (ikisi dâhil) rastgele bir sayı verir. Bu yüzden bu programı her çalıştırdığında farklı bir sonuç görebilirsin. Bir zar attığında sonucu önceden bilemezsin; işte random modülü de bilgisayara bu belirsizliği kazandırır ve oyunlarımızı sürpriz dolu hâle getirir.
2. math — matematik
math modülü karekök, üs ve yuvarlama gibi matematik işlerini hazır sunar.
import math
print(math.pow(2, 5))
print(math.floor(3.8))
Bu program 32.0 (2 üzeri 5) ve 3 (aşağı yuvarlama) yazar. Bu araçları kendimiz yazabilirdik; ama hazır olanları kullanmak hem hızlı hem güvenlidir.
3. datetime — tarih ve saat
datetime modülü bugünün tarihini, saati ve zaman hesaplarını sağlar.
import datetime
bugun = datetime.date.today()
print("Bugünün tarihi:", bugun)
Bu program bilgisayarındaki güncel tarihi, örneğin 2026-07-25 biçiminde yazar. Yani bilgisayar saati 25 Temmuz 2026'yı gösteriyorsa çıktı odur. Tarihi bize modül hazır getirdiği için ay ve günü kendimiz saymayız.
Dikkat edersen datetime.date.today() ifadesinde iki nokta var. Önce datetime modülüne, sonra onun içindeki date aracına, sonra da today komutuna ulaşıyoruz. Nokta işareti her seferinde "şunun içindeki" anlamına gelir; yani bir dolabın gözlerini tek tek açar gibi düşünebilirsin.
Kütüphane ve pip kavramına kısa bir bakış
Standart kütüphane Python ile birlikte gelir; ama insanlar bunun dışında da binlerce kütüphane yazmış. Bunları bilgisayara sonradan eklemek için genelde pip adlı bir araç kullanılır. Örneğin terminale pip install ... yazılır ve kütüphane indirilir.
Bu ders için pip ile bir şey kurmana gerek yok; çünkü math, random ve datetime zaten Python'la birlikte gelir. Dışarıdan kütüphane kurmak, internetten dosya indirmek demektir. Bu yüzden pip install komutunu her zaman bir yetişkinle birlikte ve yalnız güvenilir, tanınan kütüphaneler için kullan.
Mini uygulama
Öğrendiğin üç modülü tek bir programda birleştir. Aşağıdaki programı bir dosyaya yaz ve çalıştır.
import math
import random
import datetime
sayi = random.randint(1, 100)
karekok = math.sqrt(sayi)
bugun = datetime.date.today()
print("Seçilen sayı:", sayi)
print("Karekökü:", karekok)
print("Tarih:", bugun)
Program her çalıştığında farklı bir sayı seçer, onun karekökünü hesaplar ve bugünün tarihini yazar. Deneyebileceklerin:
random.randint(1, 100)yerinerandom.randint(1, 10)yaz; sonuç aralığı nasıl değişir?math.sqrtyerinemath.pow(sayi, 2)yazıp sayının karesini bulmayı dene.
Uygulama laboratuvarı: Modüller ve Kütüphaneler
Modüller ve Kütüphaneler konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Modül nedir ve import nasıl çalışır? ile Diğer bir biçim: from ... import ... arasındaki ilişkiyi kullanarak çalışan kısa bir Python 3 programı, örnek girdiler ve beklenen çıktılar hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.
Görev senaryosu
Şu senaryoyu ele al: kullanıcıdan veri alıp hatalı girişi açıklayan yardımcı. Dersin ana hedefi “import ile modülleri; math, random ve datetime gibi standart kütüphaneleri kullanmayı öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.
- Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
- En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
- Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
- Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
- Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.
Başarı ölçütleri
- Kod Python 3 sözdizimiyle çalışıyor mu?
- Değişken ve fonksiyon adları amacı açıklıyor mu?
- Boş, yanlış türde ve sınırdaki girdiler denendi mi?
- Hata mesajı kullanıcıya neyi düzeltmesi gerektiğini söylüyor mu?
- Aynı kod gereksiz tekrar olmadan yeniden kullanılabiliyor mu?
“Modüller ve Kütüphaneler” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın kullanıcıdan veri alıp hatalı girişi açıklayan yardımcı senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Modül nedir ve import nasıl çalışır? ve Diğer bir biçim: from ... import ... ilişkisini daha küçük adımlara bölerek düzelt.
Sık yapılan hatalar
import satırını unutmak
Modülü çağırmadan kullanmaya çalışırsan Python NameError verir. Aracı kullanmadan önce en üste import satırını yazdığından emin ol.
Nokta yerine boşluk kullanmak
Yanlış: math sqrt(16) Doğru: math.sqrt(16) Araç adını modül adına nokta ile bağlarız, boşlukla değil.
Modül adını yanlış yazmak
import maths veya import radnom gibi yazım hataları modülün bulunamamasına yol açar. Doğru adlar: math, random, datetime.
İki biçmi karıştırmak
from math import sqrt yazdıysan artık sqrt(16) kullanırsın, math.sqrt(16) değil. import math yazdıysan tersi geçerlidir.
Güvenlik notu
Sadece kendi yazdığın veya güvendiğin, tanınan kaynaklardan gelen kodu çalıştır. İnternette bulduğun bir kütüphaneyi pip install ile kurmadan önce mutlaka bir yetişkine sor. Programlarında adın, adresin veya şifren gibi kişisel bilgileri yazma ve paylaşma.
Ders özeti
- Modül, hazır kodların bulunduğu bir dosyadır;
importile programımıza çağırırız. math.sqrt(16)gibi kullanımda araç adını modül adına nokta ile bağlarız.from math import sqrtbiçimiyle bir aracı doğrudan adıyla alabiliriz.math,randomvedatetimePython'la gelen standart kütüphanenin parçalarıdır.- Dışarıdan kütüphane kurmak için
pipkullanılır; bu her zaman yetişkin gözetiminde yapılmalıdır.
Kontrol soruları
importkomutu ne işe yarar?math.sqrt(25)ne yazar?import mathilefrom math import sqrtarasındaki fark nedir?- Bugünün tarihini almak için hangi modülü ve komutu kullanırız?
- Yeni bir kütüphaneyi bilgisayara kurmak için genelde hangi araç kullanılır ve bunu yaparken neye dikkat etmeliyiz?
Cevaplar
- Başka bir dosyadaki (modüldeki) hazır kodları kendi programımıza çağırıp kullanmamızı sağlar.
5.0yazar; çünkü 25'in karekökü 5'tir vesqrtsonucu ondalıklı verir.import mathtüm modülü alır vemath.sqrtyazarız;from math import sqrtyalnızsqrtaracını alır ve doğrudansqrtyazarız. İkisi de aynı işi yapar.datetimemodülünü kullanır vedatetime.date.today()komutuyla bugünün tarihini alırız.- Genelde
pip(örneğinpip install ...) kullanılır. Bunu yalnız güvenilir kütüphaneler için ve bir yetişkinle birlikte yapmalıyız.
Kaynak ve doğrulama notu
“Modüller ve Kütüphaneler” dersi için doğrulama odağı Modül nedir ve import nasıl çalışır? ile Diğer bir biçim: from ... import ... arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Kod örnekleri Python 3 sözdizimi esas alınarak hazırlanmıştır. Çalıştırma ortamına göre küçük farklar görülebileceği için örnekler önce güvenli bir çevrim içi editörde veya yerel geliştirme ortamında denenmelidir.
Sonraki ders
Proje: Sayı Tahmin Oyunu