Python yorumlayıcısını kapatıp tekrar acarsanız yaptığınız tanımlar (işlevler ve değişkenler) kaybolur. Uzunca bir program yazmak isterseniz bunun icin programınızı bir metin duzenleyici 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ıkca bunu daha kolay idare etmek icin birkac dosyaya bolmek isteyebilirsiniz. Yazdığınız bir işlev tanımını kopyalamaya ihtiyac duymaksızın birkac programda kullanmayı da isteyebilirsiniz. Bu iş icin Python'da modul denen dosyalar var. Bunlara yazılan tanımlar diğer modullere ya da etkileşimli kipteki yorumlayıcıya import deyimi ile yuklenebilirler. Moduller .py uzantılı metin dosyalarıdır ve iclerinde Python deyimleri ve tanımları bulur. Bir modul icerisinde __name__ global değişkeninin değeri (bir dizge) o modulun adını verir. Orneğin, favori metin duzenleyiciniz ile fibo.py adlı bir dosya yaratıp Python yorumlayıcısının bulabileceği bir dizine kaydedin. Dosyanın iceriği de şu olsun: # Fibonacci sayıları modulu 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 dondurur sonuc = [] a, b = 0, 1 while b < n: sonuc.append(b) a, b = b, a+b return sonuc Yorumlayıcıyı acıp bu modulu şu komut ile yukleyin: >>> import fibo Bu fibo icindeki işlev tanımlarını yururlukte olan simge tablosuna eklemez; sadece modul adı fibo tabloya eklenir. İşlevlere modul 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
__________________