Python'da Math Modülü: Detaylı Açıklama
Python'daki math modülü, matematiksel işlemler ve fonksiyonlar için standart bir kütüphanedir. Bu modül, temel aritmetik işlemlerin ötesinde karmaşık matematiksel fonksiyonlar sağlar.
Math Modülünün Temel Özellikleri
1. Modülü Kullanma
import math2. Sabitler
Math modülü birkaç önemli matematiksel sabit içerir:
math.pi # π (pi) sayısı ≈ 3.141592653589793 math.e # e sayısı (doğal logaritma tabanı) ≈ 2.718281828459045 math.tau # τ (tau) sayısı (2π) ≈ 6.283185307179586 math.inf # Sonsuzluk math.nan # Sayı olmayan değer (Not a Number)
3. Temel Matematiksel Fonksiyonlar
a) Karekök ve Üs Alma
math.sqrt(x) # x'in karekökü math.pow(x, y) # x üzeri y (x^y) math.exp(x) # e üzeri x (e^x) math.expm1(x) # e^x - 1 (küçük x değerleri için daha doğru)
b) Logaritma Fonksiyonları
math.log(x) # x'in doğal logaritması (e tabanında) math.log(x, base) # Belirtilen tabanda logaritma math.log10(x) # 10 tabanında logaritma math.log2(x) # 2 tabanında logaritma math.log1p(x) # ln(1+x) (küçük x değerleri için daha doğru)
c) Trigonometrik Fonksiyonlar
math.sin(x) # Sinüs (radyan cinsinden) math.cos(x) # Kosinüs math.tan(x) # Tanjant math.asin(x) # Ark sinüs math.acos(x) # Ark kosinüs math.atan(x) # Ark tanjant math.atan2(y, x) # y/x'in ark tanjantı (işaretleri dikkate alır)
d) Açı Dönüşümleri
math.degrees(x) # Radyandan dereceye çevirme math.radians(x) # Dereceden radyana çevirme
4. Yuvarlama ve Mutlak Değer
math.ceil(x) # Yukarı yuvarlama math.floor(x) # Aşağı yuvarlama math.trunc(x) # Sıfıra doğru yuvarlama (kesirli kısmı atar) math.fabs(x) # Mutlak değer (float için) math.copysign(x, y) # x'in büyüklüğü, y'nin işareti
5. Kombinatorik ve Faktöriyel
math.factorial(x) # x'in faktöriyeli (x!) math.comb(n, k) # Kombinasyon (n choose k) - Python 3.10+ math.perm(n, k) # Permütasyon - Python 3.10+ math.gcd(*integers) # En büyük ortak bölen - Python 3.9+ math.lcm(*integers) # En küçük ortak kat - Python 3.9+
6. Özel Fonksiyonlar
math.gamma(x) # Gamma fonksiyonu math.lgamma(x) # Gamma fonksiyonunun mutlak değerinin doğal logaritması math.erf(x) # Hata fonksiyonu math.erfc(x) # Tamamlayıcı hata fonksiyonu
7. Hiperbolik Fonksiyonlar
math.sinh(x) # Hiperbolik sinüs math.cosh(x) # Hiperbolik kosinüs math.tanh(x) # Hiperbolik tanjant math.asinh(x) # Ters hiperbolik sinüs math.acosh(x) # Ters hiperbolik kosinüs math.atanh(x) # Ters hiperbolik tanjant
8. Kalan ve Mod İşlemleri
math.fmod(x, y) # C'deki fmod() gibi kalan bulma math.remainder(x, y) # IEEE 754 standardına göre kalan - Python 3.7+
9. Diğer Faydalı Fonksiyonlar
math.fsum(iterable) # Daha doğru kayan nokta toplama math.prod(iterable) # Elemanların çarpımı - Python 3.8+ math.isclose(a, b) # İki sayının yakın olup olmadığını kontrol etme math.isfinite(x) # Sonlu bir sayı mı? math.isinf(x) # Sonsuz mu? math.isnan(x) # NaN (Not a Number) mı?
Örnek Kullanımlar
1. Daire Alanı Hesaplama
import math def daire_alani(yaricap): return math.pi * yaricap ** 2 print(daire_alani(5)) # 78.53981633974483
2. İkinci Dereceden Denklem Çözme
import math def kokleri_bul(a, b, c): delta = b**2 - 4*a*c if delta < 0: return None kok1 = (-b + math.sqrt(delta)) / (2*a) kok2 = (-b - math.sqrt(delta)) / (2*a) return (kok1, kok2) print(kokleri_bul(1, -5, 6)) # (3.0, 2.0)
3. Trigonometrik Hesaplamalar
import math aci_derece = 45 aci_radyan = math.radians(aci_derece) print(f"sin({aci_derece}°) = {math.sin(aci_radyan)}") # 0.7071067811865475 print(f"cos({aci_derece}°) = {math.cos(aci_radyan)}") # 0.7071067811865476 print(f"tan({aci_derece}°) = {math.tan(aci_radyan)}") # 0.9999999999999999
4. Kombinasyon Hesaplama
import math # 5 elemanlı bir kümeden 2'li kombinasyon sayısı print(math.comb(5, 2)) # 10
Math Modülünün Sınırlamaları
Karmaşık Sayılar: Math modülü yalnızca gerçek sayılarla çalışır. Karmaşık sayılar için
cmathmodülünü kullanmalısınız.Kayan Nokta Hassasiyeti: Tüm işlemler kayan nokta aritmetiği kullanır, bu nedenle hassasiyet sınırlamaları olabilir.
Büyük Sayılar: Çok büyük sayılarla çalışırken taşma (overflow) hatası alabilirsiniz.
Alternatifler
Daha gelişmiş matematiksel işlemler için:
numpy: Bilimsel hesaplamalar içinscipy: Bilimsel ve teknik hesaplamalardecimal: Yüksek hassasiyetli ondalık aritmetikfractions: Kesirli sayı desteğistatistics: İstatistiksel fonksiyonlar
Math modülü, Python'da temel matematiksel işlemler için güçlü ve kullanışlı bir araçtır. Günlük programlama ihtiyaçlarının çoğunu karşılayabilir.
Hiç yorum yok:
Yorum Gönder