Modüller
Önceki V. Oylum - Python Kılavuzu Sonraki
Modüller
İçindekiler
1. Modüller Üzerine Daha Fazla Bilgi
1.1. Modül Arama Yolu
1.2. "Derlenmiş" Python Dosyaları
2. Standart Modüller
3. dir() İşlevi
4. Paketler
4.1. Bir paketten * yüklemek
4.2. Birbirlerini Yükleyen Modüller
Python yorumlayıcısını kapatıp tekrar açarsanız yaptığınız tanımlar (işlevler ve değişkenler) kaybolur. Uzunca bir program yazmak isterseniz bunun için programınızı bir metin düzenleyici ile hazırlayıp yazdığınız dosyayı yorumlayıcı girişi olarak kullanırsanız daha iyi olur. Bu işleme betik yazmak denir. Programınız uzadıkça bunu daha kolay idare etmek için birkaç dosyaya bölmek isteyebilirsiniz. Yazdığınız bir işlev tanımını kopyalamaya ihtiyaç duymaksızın birkaç programda kullanmayı da isteyebilirsiniz.
Bu iş için Python'da modül denen dosyalar var. Bunlara yazılan tanımlar diğer modüllere ya da etkileşimli kipteki yorumlayıcıya import deyimi ile yüklenebilirler.
Modüller .py uzantılı metin dosyalarıdır ve içlerinde Python deyimleri ve tanımları bulur. Bir modül içerisinde __name__ global değişkeninin değeri (bir dizge) o modülün adını verir. Örneğin, favori metin düzenleyiciniz ile fibo.py adlı bir dosya yaratıp Python yorumlayıcısının bulabileceği bir dizine kaydedin. Dosyanın içeriği de şu olsun:
# Fibonacci sayıları modülü

def fib(n):    # n e kadar Fibonacci serisini yazdır
    a, b = 0, 1
    while b < n:
        print b,
        a, b = b, a+b

def fib2(n): # n e kadar Fibonacci serisi geri döndürür
    sonuc = []
    a, b = 0, 1
    while b < n:
        sonuc.append(b)
        a, b = b, a+b
    return sonuc
Yorumlayıcıyı açıp bu modülü şu komut ile yükleyin:
>>> import fibo
Bu fibo içindeki işlev tanımlarını yürürlükte olan simge tablosuna eklemez; sadece modül adı fibo tabloya eklenir. İşlevlere modül adı kullanarak erişilebilir:
>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibo.fib2(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> fibo.__name__
'fibo'
Bir işlevi sık sık kullanmak isterseniz bunu yerel bir isme atayabilirsiniz:
>>> fib = fibo.fib
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377
Önceki Üst Ana Başlık Sonraki
Listeler, Dizgeler ve Demetler Arasında Kıyaslama Başlangıç Modüller Üzerine Daha Fazla Bilgi
Bir Linux Kitaplığı Sayfası