İçeriğe geç
Educora
Orta15 dk10 / 42

Modüller ve standart kütüphane

Hazır araçları kullan: import, math, random ve datetime modülleri ve standart kütüphanenin diğer kullanışlı parçaları.

Kendini test et
Bu derste öğreneceklerin
  • Bir modülü import ve from ... import ile yüklemek
  • math ve random modüllerinin temel fonksiyonlarını kullanmak
  • datetime ile tarihler üzerinde hesaplama yapmak

Karekök almak, rastgele bir sayı seçmek ya da iki tarih arasındaki günleri saymak için sıfırdan kod yazman gerekmez. Python, hazır araçlarla dolu bir standart kütüphaneyle birlikte gelir. Bu araçlar modüllerde toplanmıştır; ihtiyacın olanı yükleyip kullanırsın.

import ve math modülü

Tanım
Modül

Fonksiyonlar, değişkenler ve sınıflar içeren ayrı bir Python dosyası. import ifadesi modülü programa yükler; parçalarına nokta ile erişilir: math.sqrt.

Python
import math

print(math.sqrt(144))
print(math.pi)
print(math.ceil(4.2), math.floor(4.8))
print(math.gcd(24, 36))
▸ Beklenen çıktı
12.0
3.141592653589793
5 4
12

ceil bir sayıyı yukarı, floor aşağı yuvarlar; gcd ise iki sayının en büyük ortak bölenini bulur. Bir modülden yalnızca birkaç ada ihtiyacın varsa onları from ... import ile doğrudan alabilirsin; o zaman math. yazmana gerek kalmaz:

Python
from math import sqrt, pi

radius = 3
area = pi * radius ** 2
print(f'Circle area: {area:.2f}')
print(sqrt(2))
▸ Beklenen çıktı
Circle area: 28.27
1.4142135623730951

random: rastgele sayılar

Oyunlar, bilgi yarışmaları ve testler rastlantısallığa ihtiyaç duyar. random modülünün en çok kullanılan fonksiyonları şunlardır: randint(a, b) — a ile b arasında (ikisi de dahil) rastgele bir tam sayı, choice(list) — listeden rastgele bir eleman, shuffle(list) — listeyi karıştırmak.

Python
import random

for i in range(3):
    print(f'Roll {i + 1}: {random.randint(1, 6)}')
Kodu birkaç kez çalıştır; her seferinde farklı bir sonuç alacaksın.

Bazen rastgele sonuçları tekrarlamak gerekir; örneğin bir programı test ederken. random.seed() dizinin başlangıç noktasını belirler: aynı “tohum” verilirse “rastgele” değerler her seferinde aynı çıkar.

Python
import random

random.seed(42)
print(random.randint(1, 6))
print(random.choice(['rock', 'paper', 'scissors']))
cards = [1, 2, 3, 4, 5]
random.shuffle(cards)
print(cards)
▸ Beklenen çıktı
6
rock
[2, 4, 5, 3, 1]

datetime: tarih ve saat

Azerbaycan'da eğitim yılı 15 Eylül'de, Bilgi Günü'nde başlar. O günden yılbaşına kaç gün var? datetime modülünde date bir tarihi, timedelta ise bir zaman aralığını temsil eder. İki tarihi birbirinden çıkarınca bir timedelta elde edilir; onun days özelliği gün sayısını verir.

Python
from datetime import date, timedelta

start = date(2026, 9, 15)
new_year = date(2027, 1, 1)
print(start)
print(start.strftime('%d.%m.%Y'))
print((new_year - start).days, 'days until New Year')
print(start + timedelta(days=100))
▸ Beklenen çıktı
2026-09-15
15.09.2026
108 days until New Year
2026-12-24

strftime bir tarihi istediğin biçimde karakter dizisine çevirir: %d gün, %m ay, %Y yıl demektir. date.today() ise bugünün tarihini verir; bu yüzden aşağıdaki kodun sonucu her gün farklıdır:

Python
from datetime import date

today = date.today()
print('Today is', today.strftime('%d.%m.%Y'))
print('Days left this year:', (date(today.year, 12, 31) - today).days)

Standart kütüphanede başka neler var?

ModülNe işe yarar
statisticsortalama, medyan, mod
collectionsCounter gibi ek veri yapıları
stringhazır karakter kümeleri: harfler, rakamlar
jsonJSON biçimindeki verileri okumak ve yazmak
timezamanı ölçmek, beklemek
Python
import statistics
from collections import Counter

scores = [7, 9, 6, 9, 10, 8, 9]
print(round(statistics.mean(scores), 2))
print(statistics.median(scores))

votes = ['pizza', 'plov', 'plov', 'dolma', 'plov', 'pizza']
print(Counter(votes).most_common(2))
▸ Beklenen çıktı
8.29
9
[('plov', 3), ('pizza', 2)]
Sınıfta en sevilen yemek anketi: Counter oyları tek satırda sayar.
Alıştırma

95 öğrenci geziye gidiyor, bir otobüste 40 koltuk var. math modülünü içe aktar ve iki satır yazdır: 1) kaç otobüs gerektiği (math.ceil ile), 2) yarıçapı 3,5 m olan yuvarlak bir havuzun alanı; noktadan sonra iki basamakla (math.pi ile).

Alıştırma · Python
pupils = 95
seats = 40
radius = 3.5
# 1) import math
# 2) print how many buses are needed
# 3) print the area of the pool with 2 digits after the point
▸ Beklenen çıktı
3
38.48
Alıştırma

from ... import yazımıyla statistics modülünden mean ve median fonksiyonlarını, collections modülünden de Counter'ı içe aktar. grades listesi için üç satır yazdır: ortalama, medyan ve en sık görülen not; sonuncusu Most common: 3 (2 times) biçiminde olsun (elbette gerçek sayılarla).

Alıştırma · Python
grades = [5, 4, 5, 3, 5, 4, 2, 5]
# 1) import mean, median and Counter
# 2) print the mean and the median
# 3) print the most common grade like: Most common: 3 (2 times)
▸ Beklenen çıktı
4.125
4.5
Most common: 5 (4 times)

Önemli noktalar

  • Modül hazır fonksiyonlar içeren bir dosyadır; import math onu yükler, math.sqrt ise bir parçasına erişir.
  • from math import sqrt adı doğrudan alır; noktaya gerek kalmaz.
  • random.randint, choice ve shuffle rastlantısallık sağlar; seed sonuçları tekrarlanabilir yapar.
  • date tarihleri saklar; iki tarihin farkı bir timedelta'dır ve .days gün sayısını verir.
  • Dosyana asla standart bir modülün adını verme.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
math modülünden yalnızca sqrt nasıl yüklenir?