Modül Nedir?

Bu konumuzda modüllerin ne olduğundan bahsedeceğiz. Python'da modül olarak adlandırılan bu yapılar C gibi başka programlama dillerinde kütüphane olarak da adlandırılır. Modüller fonksiyonların ve sınıfların toplandığı programlardır.  Yani aslında sizin de yazdığınız her program bir modüldür. Bu nedenle modülleri anlamak için sınıfları olmasa da fonksiyonları anlamış olmanız gerekiyor. Eminim bir örnekle daha da pekişecektir kafanızda bu konu.


Ne işe yaradığından da bahsedelim sonra hemen örneğe geçeceğiz. Modülleri kendi programınıza import kelimesini kullanarak ekleyerek eklenen modülde bulunan fonksiyonları ve sınıfları bir daha yazmanıza gerek kalmadan kullanmanıza olanak sağlar. Bu nedenle de çok büyük ölçüde zaman kazandırır size bu modüller. "E madem bu kadar zaman kazandırıyor neden Python'a dahil değil de sonradan eklememiz gerekiyor?" diye düşünenleriniz olduğunu tahmin ediyorum. Bütün bu modüllerin Python'ın kendisine eklenmesi Python'ın çalışma hızını oldukça düşürecektir çünkü siz print gibi basit bir komutu (Python 3 için fonksiyonu) bile kullansanız bu komutu 10 000 yerine modüllerle beraber belki 1 000 000 komut arasından arayacak ve bulacaktır. Şöyle düşünün, aradığınız kelimeyi 1000 sayfalık bir sözlükte mi daha hızlı bulursunuz yoksa 200 sayfalık beş cilt halindeki sözlüklerde mi?


Modülleri import etme işlemini birkaç şekilde yapabiliriz. Bunlardan en çok kullanılanı tüm modülü import etmektir. Bunu kolay yoldan anlatmak için önce kendi modülümüzü oluşturalım.



Modülümüz hazır. Normalde modüller tabiki bu kadar basit olmamaktadır ancak açıklama amaçlı bu basit modül kullanılabilir. Şimdi yapacağımız işlem ilk yöntemimiz ile modülü içeri aktarmak ve o modülün fonksiyonunu kullanmaktadır. Kullandığımız içeri aktarma yöntemi nedeniyle modülün fonksiyonlarını kullanmak için modulAdı.fonksiyonAdı() yolunu takip etmeliyiz.


Ve çıktının olması gerektiği gibi "Merhaba Dunya" olduğunu görebiliyoruz. Peki başka hangi yöntemi kullarak içe aktarabilirdik? İkinci yöntem için aşağıdaki örneği inceleyiniz


from modülAdı import fonksiyonAdı yolunu kullanarak belirtilen modülden sadece belli bir fonksiyonu import ettik ve bu sayede de programımızın içinde modül adı kullanmadan fonksiyonAdı() yöntemiyle fonksiyonumu çağırabildik. Eğer modül çok kullanacağınız bir modül ise her fonksiyonunu aşağıdaki yolu izleyerek import edebilirsiniz ancak bu yöntem programınızı yavaşlatacağından çok gerekmedikçe kesinlikle önerilmez.


Bu bölüm de bu kadar, bir sonraki bölümümüzde görüşmek üzere...

Yorumlar

Bu blogdaki popüler yayınlar

Python 2 vs Python 3

Programcı Köşesi'nin Amacı