Python Standart Kütüphanesi
Python standart kütüphanesi, Python dili ile birlikte gelen ve yazılım geliştirmeyi kolaylaştıran kapsamlı modül ve paket koleksiyonudur. Dosya işlemleri, tarih ve saat yönetimi, matematiksel hesaplamalar, veri yapıları yönetimi, ağ iletişimi ve çoklu iş parçacığı yönetimi gibi yaygın görevler için önceden yazılmış fonksiyonlar sunar. Temel kavramlar arasında modüller (yeniden kullanılabilir kod dosyaları), paketler (modül koleksiyonları), Python sözdizimi, listeler, sözlükler, kümeler gibi veri yapıları, algoritmaların uygulanması ve OOP prensipleri bulunur. Standart kütüphaneyi etkili kullanmak, kodun modüler, okunabilir ve hatasız olmasını sağlar. Ayrıca sürüm uyumluluğu, hata yönetimi ve performans optimizasyonu gibi konularda da geliştiriciye rehberlik eder. Bu kütüphaneyi öğrenen okuyucu, backend geliştirmede verimli, ölçeklenebilir ve güvenilir uygulamalar geliştirebilecek ve kod tekrarını minimize ederek yazılım yaşam döngüsünü hızlandırabilecektir.
Pratik bir örnek olarak, bir sunucu günlük dosyasındaki hata kayıtlarını analiz etmek ele alınabilir. os
modülü dosya yönetimi, datetime
modülü zaman damgası ekleme, re
modülü düzenli ifadelerle hata satırlarını bulma, collections.Counter
modülü hata frekanslarını sayma ve json
modülü sonuçları JSON formatında saklama için kullanılır. Her modül farklı bir görev üstlenir: os
dosya işlemleri, datetime
zaman yönetimi, re
metin analizi, Counter
veri özetleme ve json
verilerin kalıcı saklanması. Bu yöntem, sunucu izleme, otomatik raporlama ve backend olay analizinde gerçek dünyada kullanılabilir, böylece kritik hataların hızlı tespiti ve çözümü sağlanır.
Example
pythonimport os
import datetime
import re
import json
from collections import Counter
from math import ceil
log_file = "server.log"
backup_file = f"backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.log"
try:
with open(log_file, 'r') as f:
lines = f.readlines()
error_lines = [line for line in lines if re.search(r'ERROR', line)]
error_count = Counter([line.split()[1] for line in error_lines])
with open("error_summary.json", 'w') as f:
json.dump(error_count, f, indent=4)
os.rename(log_file, backup_file)
backups_needed = ceil(len(lines) / 1000)
print(f"Gerekli yedek sayısı: {backups_needed}")
except FileNotFoundError as e:
print(f"Dosya bulunamadı: {e}")
except Exception as e:
print(f"Beklenmeyen hata: {e}")
📊 Comprehensive Reference
Module | Function | Description | Syntax | Example | Notes |
---|---|---|---|---|---|
os | rename | Dosya yeniden adlandırma | os.rename(src,dst) | os.rename("old.txt","new\.txt") | Dosya işlemleri |
sys | exit | Programdan çıkma | sys.exit(\[status]) | sys.exit(1) | Program sonlandırma |
math | ceil | Bir üst değere yuvarlama | math.ceil(x) | math.ceil(3.4) | Matematiksel işlemler |
math | sqrt | Karekök | math.sqrt(x) | math.sqrt(16) | Matematiksel işlemler |
datetime | now | Şu anki tarih ve saat | datetime.datetime.now() | datetime.datetime.now() | Zaman yönetimi |
datetime | strftime | Tarih formatlama | datetime.strftime(format) | datetime.datetime.now().strftime("%Y-%m-%d") | Zaman biçimlendirme |
re | search | Düzenli ifade ile arama | re.search(pattern,string) | re.search(r"ERROR","log") | Metin analizi |
re | sub | Düzenli ifade ile değiştirme | re.sub(pattern,repl,string) | re.sub(r"\d+","", "abc123") | Metin temizleme |
json | dump | JSON kaydetme | json.dump(obj,fp) | json.dump(data,f) | Veri serileştirme |
json | load | JSON yükleme | json.load(fp) | data=json.load(f) | Veri deseralizasyon |
collections | Counter | Eleman sayımı | collections.Counter(iterable) | Counter(\["a","b","a"]) | Veri analizi |
itertools | chain | Iterables birleştirme | itertools.chain(*iterables) | list(chain(\[1,2],\[3,4])) | Verimli iterasyon |
functools | reduce | Diziyi azaltma | functools.reduce(func,seq) | reduce(lambda x,y:x+y,\[1,2,3]) | Fonksiyonel programlama |
random | randint | Rastgele sayı | random.randint(a,b) | random.randint(1,10) | Rastgelelik |
heapq | heappush | Heap’e ekleme | heapq.heappush(heap,item) | heappush(heap,5) | Öncelikli kuyruk |
heapq | heappop | Heap’ten çıkarma | heapq.heappop(heap) | heappop(heap) | Öncelikli kuyruk |
threading | Thread | İş parçacığı oluşturma | threading.Thread(target=func) | threading.Thread(target=my_func) | Paralel işlem |
subprocess | run | Dış komut çalıştırma | subprocess.run(args) | subprocess.run(\["ls","-l"]) | Sistem çağrısı |
time | sleep | Bekleme | time.sleep(seconds) | time.sleep(2) | Zaman kontrolü |
pathlib | Path | Dosya yolu yönetimi | Path("file.txt") | Path("data.txt").exists() | Dosya yolları |
uuid | uuid4 | Benzersiz ID oluşturma | uuid.uuid4() | uuid.uuid4() | Kimlik oluşturma |
base64 | b64encode | Base64 kodlama | base64.b64encode(data) | base64.b64encode(b"data") | Kodlama |
hashlib | sha256 | SHA-256 hash oluşturma | hashlib.sha256(data) | hashlib.sha256(b"data").hexdigest() | Güvenlik |
copy | deepcopy | Derin kopya | copy.deepcopy(obj) | copy.deepcopy(mylist) | Referans önleme |
gzip | open | Gzip dosyası açma | gzip.open(filename) | gzip.open("file.gz") | Sıkıştırma |
zipfile | ZipFile | Zip dosyası yönetimi | zipfile.ZipFile(file) | with ZipFile("a.zip") as z: pass | Sıkıştırma |
configparser | ConfigParser | Konfigürasyon okuma | configparser.ConfigParser() | config.read("config.ini") | Yapılandırma |
message_from_string | E-posta parse | email.message_from_string(string) | msg=email.message_from_string(raw) | E-posta işleme | |
urllib | request.urlopen | URL açma | urllib.request.urlopen(url) | urllib.request.urlopen("[http://example.com") | HTTP](http://example.com%22%29 |
socket | socket | Socket oluşturma | socket.socket() | s=socket.socket() | Ağ |
logging | basicConfig | Log yapılandırma | logging.basicConfig(level) | logging.basicConfig(level=logging.INFO) | Loglama |
argparse | ArgumentParser | CLI argümanları | argparse.ArgumentParser() | parser=argparse.ArgumentParser() | Komut satırı |
shutil | copy | Dosya kopyalama | shutil.copy(src,dst) | shutil.copy("a.txt","b.txt") | Dosya işlemleri |
pprint | pprint | Güzel yazdırma | pprint.pprint(obj) | pprint.pprint(data) | Görselleştirme |
statistics | mean | Ortalama | statistics.mean(data) | statistics.mean(\[1,2,3]) | İstatistik |
statistics | median | Medyan | statistics.median(data) | statistics.median(\[1,2,3]) | İstatistik |
queue | Queue | Thread-safe kuyruk | queue.Queue() | q=queue.Queue() | Paralel işlem |
enum | Enum | Enum oluşturma | class Color(Enum): RED=1 | Color.RED | Sabitler |
typing | List | Tip anotasyonu | from typing import List | def f(x:List): | Tip ipuçları |
decimal | Decimal | Hassas ondalık | decimal.Decimal("0.1") | Decimal("0.1") | Hassas hesaplama |
fractions | Fraction | Kesirler | fractions.Fraction(a,b) | Fraction(1,3) | Hassas hesaplama |
statistics | stdev | Standart sapma | statistics.stdev(data) | statistics.stdev(\[1,2,3]) | İstatistik |
bisect | insort | Sıralı listeye ekleme | bisect.insort(list,item) | bisect.insort(a,5) | Sıralama |
xml | etree.ElementTree | XML parse | ET.parse(file) | ET.parse("file.xml") | Veri yapıları |
pickle | dump | Binary serileştirme | pickle.dump(obj,fp) | pickle.dump(obj,f) | Veri saklama |
pickle | load | Deseralizasyon | pickle.load(fp) | obj=pickle.load(f) | Veri geri yükleme |
🧠 Bilginizi Test Edin
Test Your Knowledge
Python standart kütüphanesi bilginizi test edin
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek