Python Standart Kütüphanesi, Python diline entegre edilmiş ve çeşitli programlama görevlerini yerine getirmek için hazır modüller sunan geniş bir kütüphane koleksiyonudur. Bu kütüphane, dosya ve metin işlemleri, veri yapılandırması, ağ iletişimi, hata yönetimi, matematiksel işlemler ve daha pek çok alanda fonksiyonellik sağlar. Standart kütüphane, Python ile birlikte gelir, yani ek bir yükleme yapmadan bu modülleri kullanabilirsiniz.
1. Genel Amaçlı Modüller
a. os
Modülü
os
modülü, işletim sistemiyle etkileşim kurmanızı sağlar. Dosya ve dizin işlemleri, çevre değişkenleri ve sistem komutları gibi görevler için kullanılır.
import os
# Geçerli çalışma dizinini öğrenme
print(os.getcwd())
# Yeni bir dizin oluşturma
os.mkdir("yeni_dizin")
b. sys
Modülü
sys
modülü, Python yorumlayıcısı ile etkileşim sağlar. Komut satırı argümanlarını işleme, Python yolunu yönetme gibi görevlerde kullanılır.
import sys
# Komut satırı argümanlarını listeleme
print(sys.argv)
# Python yolunu listeleme
print(sys.path)
c. time
Modülü
time
modülü, zamanla ilgili işlemleri gerçekleştirir. Zaman damgaları oluşturma, uyku süreleri ayarlama gibi görevlerde kullanılır.
import time
# Mevcut zamanı öğrenme
print(time.time())
# 5 saniye bekleme
time.sleep(5)
d. datetime
Modülü
datetime
modülü, tarih ve saat işlemleri yapar. Tarih ve saat farklarını hesaplama, formatlama gibi işlemleri sağlar.
import datetime
# Mevcut tarih ve saat
print(datetime.datetime.now())
# Belirli bir tarih oluşturma
d = datetime.datetime(2024, 8, 31)
print(d)
e. random
Modülü
random
modülü, rastgele sayı üretme ve rastgele seçim yapma gibi görevler için kullanılır.
import random
# 1 ile 10 arasında rastgele bir sayı
print(random.randint(1, 10))
# Bir listedeki rastgele bir eleman
print(random.choice(['elma', 'muz', 'çilek']))
2. Metin İşleme Modülleri
a. re
Modülü
re
modülü, düzenli ifadelerle metin işlemleri yapmak için kullanılır. Metin arama, değiştirme ve desen eşleme işlemlerini gerçekleştirir.
import re
# Bir metindeki e-posta adreslerini bulma
text = "İletişim: example@example.com, info@example.org"
emails = re.findall(r'\S+@\S+', text)
print(emails)
b. string
Modülü
string
modülü, metinlerle ilgili bazı yardımcı fonksiyonlar ve sabitler sağlar.
import string
# Tüm küçük harfleri listeleme
print(string.ascii_lowercase)
# Rastgele bir string oluşturma
import random
print(''.join(random.choice(string.ascii_letters) for _ in range(10)))
3. Veri Yapıları Modülleri
a. collections
Modülü
collections
modülü, Python’un yerleşik veri yapıları olan listeler, demetler, sözlükler ve setler için genişletilmiş veri yapıları sağlar.
from collections import Counter
# Bir string'deki harflerin frekansını sayma
text = "abrakadabra"
counter = Counter(text)
print(counter)
b. itertools
Modülü
itertools
modülü, iterasyon araçları ve sonsuz veri üreticileri sağlar. Kombinasyonlar, permütasyonlar, sonsuz iteratörler gibi işlemler için kullanılır.
import itertools
# Bir listenin tüm permütasyonları
permutations = list(itertools.permutations([1, 2, 3]))
print(permutations)
c. heapq
Modülü
heapq
modülü, yığın (heap) veri yapısını uygular. Bu veri yapısı, en küçük öğeyi bulmayı ve kaldırmayı sağlar.
import heapq
numbers = [4, 1, 7, 3, 8, 5]
heapq.heapify(numbers)
print(numbers) # Min-heap olarak sıralanır
heapq.heappush(numbers, 2)
print(numbers)
4. Matematik ve İstatistik Modülleri
a. math
Modülü
math
modülü, matematiksel fonksiyonlar ve sabitler sağlar. Trigonometri, logaritma, üstel fonksiyonlar gibi işlemler için kullanılır.
import math
# Pi değeri
print(math.pi)
# Bir sayının karekökü
print(math.sqrt(16))
b. statistics
Modülü
statistics
modülü, temel istatistiksel hesaplamalar yapar. Ortalama, medyan, varyans gibi istatistiksel değerleri hesaplamak için kullanılır.
import statistics
data = [1, 2, 2, 3, 4, 5, 5, 5, 6]
print(statistics.mean(data)) # Ortalama
print(statistics.median(data)) # Medyan
print(statistics.mode(data)) # Mod
5. Dosya İşleme Modülleri
a. os
ve shutil
Modülleri
os
ve shutil
modülleri, dosya ve klasör işlemleri yapar. Dosya kopyalama, taşıma, silme, dizin oluşturma gibi görevlerde kullanılır.
import os
import shutil# Yeni bir dizin oluşturma
os.mkdir("new_dir")
# Dosya kopyalama
shutil.copy("source.txt", "destination.txt")
b. json
Modülü
json
modülü, JSON formatında veri okuma ve yazma işlemleri yapar. JSON, veri değişiminde yaygın olarak kullanılan bir formattır.
import json
# JSON dosyasını okuma
with open("data.json", "r") as file:
data = json.load(file)
print(data)
# JSON dosyasına yazma
with open("data.json", "w") as file:
json.dump({"name": "Alice", "age": 30}, file, indent=4)
c. csv
Modülü
csv
modülü, CSV (Comma-Separated Values) dosyalarıyla çalışma işlemlerini gerçekleştirir. Bu format, tablo verilerini saklamak için kullanılır.
import csv
# CSV dosyasını okuma
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)
# CSV dosyasına yazma
with open("data.csv", "w", newline='') as file:
writer = csv.writer(file)
writer.writerow(["Name", "Age", "City"])
writer.writerow(["Alice", 30, "New York"])
6. Ağ ve İnternet İşlemleri Modülleri
a. socket
Modülü
socket
modülü, düşük seviyeli ağ işlemleri yapar. TCP ve UDP protokolleri üzerinden veri gönderme ve alma işlemlerini sağlar.
import socket
# Basit bir TCP istemcisi
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(("www.example.com", 80))
client_socket.send(b"GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n")
response = client_socket.recv(4096)
print(response.decode())
client_socket.close()
b. http
Modülü
http
modülü, HTTP protokolü üzerinden veri alışverişi yapmak için kullanılır. İstemci ve sunucu taraflı işlemler için kullanılabilir.
import http.client
# Basit bir HTTP istemcisi
connection = http.client.HTTPConnection("www.example.com")
connection.request("GET", "/")
response = connection.getresponse()
print(response.status, response.reason)
data = response.read()
print(data)
connection.close()
c. urllib
Modülü
urllib
modülü, URL’ler üzerinden veri indirme ve işleme işlemleri yapar. URL kodlama, HTTP istekleri, veri indirme gibi işlemleri sağlar.
import urllib.request
# URL üzerinden veri indirme
response = urllib.request.urlopen("https://www.example.com")
html = response.read().decode()
print(html)
Python Standart Kütüphanesi, geniş bir yelpazede programlama görevlerini yerine getirmek için zengin bir modül koleksiyonu sunar. Bu modüller, günlük programlama işlerini basitleştirir ve Python programcılarının etkili ve verimli kod yazmalarına yardımcı olur. Python’un sunduğu bu güçlü araçlar, kodu daha kısa, okunabilir ve bakımı kolay hale getirir. Bu modülleri anlamak ve doğru kullanmak, Python programcılığında önemli bir adımdır.
Bir yanıt yazın