BAŞLIKLAR
Modül Nedir ?
Modülleri sınıflandıralım:
Modüllerimizi nasıl içe aktarabiliriz ?
Modüllerin Yolları Hakkında
Üçüncü Şahıs python modüllerini yüklemek- Pip
Modül Nedir ?
Modül bazı işlevleri kolaylıkla yerine getirmemizi sağlayan birtakım fonksiyonları, sınıfları ve objeleri içinde barındıran araçlardır. Modüller Python'un bel kemiğidir diyebiliriz. Eğer modüller olmasaydı, Python programlama dili hem çok kullanışsız bir dil olurdu, hem de modüller sayesinde çok kolay bir şekilde üstesinden gelebildiğimiz zorluklar için her defasında kendimiz yeniden bir çözüm icat etmek zorunda kalırdık.
Diyelim ki bir program yazıyorsunuz. Yazdığınız bu programın içinde karakter dizileri, sayılar, değişkenler, listeler, demetler, sözlükler ve fonksiyonlar var. Programınız da .py uzantılı bir metin dosyası içinde yer alıyor. İşte bütün bu öğeleri ve veri tiplerini içeren .py uzantılı dosyaya modül adı verilir. Yani şimdiye kadar yazdığınız ve yazacağınız bütün Python programları aynı zamanda birer modül adayıdır.
Modülleri sınıflandıralım:
1- Kendi tanımladığımız modüller
2- Hazır modüller
a)Üçüncü şahıs modüller
b)Built-in(gömülü modüller)
Built-in (Gömülü modüller)
Standart Kütüphane Modülleri, doğrudan Python geliştiricileri tarafından yazılıp dile kaynaştırılmış modüllerdir. Herhangi bir ek yazılım olmadan direkt olarak projemize aktarıp kullanabiliriz. Örnek built-in modüller :
Socket
Random
Os
Buradan tüm built-in modülleri görebilirsiniz : https://docs.python.org/3/library/
Üçüncü Şahıs Modüller
Python'dan bağımsız yazılımcılar tarafından geliştirilen modüllerdir. Ek yazılımlar ile bu modülleri yüklememiz gerekmektedir.
Örnek üçüncü şahıs modüller :
Requests
- Beatiful Soup
+ Beautiful Soup
Discord.py
Modüllerimizi nasıl içe aktarabiliriz ?
- Python'da modüllerimizi kullanmamız için önce içe aktarmamız gerekmekte. Hem built-in modüller hem de üçüncü parti modüller için bu geçerlidir.
+ Python'da modüllerimizi kullanmamız için önce dahil etmemiz gerekmekte. Hem built-in modüller hem de üçüncü parti modüller için bu geçerlidir.
Kod:
import socket
Şeklinde socket modülümüzü dahil edebiliriz.
Modülümüzün hangi fonksiyonları ve nitelikleri sunduğunu öğrenmek için dir() fonksiyonunu kullanabiliriz:
Kod:
dir(socket)
Birazdan yapacağımız şeyleri daha iyi anlamamız için kendi modülümüzü yapıp dahil edelim. Herhangi bir ad ile kaydedebiliriz ben modulum.py olarak kaydediyorum.
Kod:
Nick = '667'
Yas = 25
Liste = ['eleman0','eleman1','eleman2']
Modülümüzü dahil edip içindeki verileri çekelim :
Kod:
import modulum
print(modulum.Nick)
print(modulum.Yas)
print(modulum.Liste)
Çıktım :
Kod:
667
25
['eleman0','eleman1','eleman2']
Eğer kolaylık olması açısından nesnemizi modülümüzden direkt olarak almak istersek:
Kod:
from <modül_ismi> import <nesne>
Şeklinde yapabiliriz. Bunu kendi modülümüze uygulayarak nickimizi çekelim :
Kod:
import modulum
print(Nick)
Çıktı :
Kod:
667
Tüm nesneleri çekmek istersek :
Kod:
from modulum import *
Bazen modüllerimizin ismi uzun olabilir ve her seferinde modül ismimizi yazmak sıkıcılaşabilir. Bunu engellemek için içe aktardığımız modülümüzü kendi verdiğimiz isimle kullanabiliriz.
Kod:
import <modul_adi> as <kullanacağım_isim>
Örnek :
Kod:
import time as zaman
zaman.sleep(5)
Bu şekilde yaptığınızda zaman. yazdığınız an time modülünün fonksiyonları zaten görünecektir.
Modüllerin Yolları Hakkında
Kütüphane modüllerini her yerden içe aktarabiliyoruz. Yani, komut satırını çalıştırdığımız her konumda veya program dosyamızın bulunduğu her dizin altında bu modülleri rahatlıkla kullanabiliyoruz. Pythonın bu modülleri bulamaması gibi bir şey söz konusu değil.
Ama kendi yazdığımız modülleri içe aktarabilmemiz için, bu modüllerin o anda içinde bulunduğumuz dizin altında yer alması gerekiyor. Yani mesela yukarıda örneğini verdiğimiz modulum modülünü, modulum.py dosyasını bilgisayarımızdaki hangi konuma kaydetmişsek o konumdan içe aktarabiliyoruz.
Diyelim ki modulum.py dosyasını masaüstüne kaydetmiştik. İşte bu modülü komut satırında içe aktarabilmemiz için, komut satırını da masaüstünün bulunduğu konumda çalıştırmış olmamız gerekiyor.
Bu durumun sebebi ne ?
Bir satırda import komutunu verdiğimizde python bilgisayarımızda bir arama başlatır. Tabii ki bu arama tüm diskimizi kapsamaz. Peki hangi yollarda arama yapıyor bu komut ?
Bunun cevabını öğrenmek için sys modülünün (built-in) path fonksiyonunu çalıştıralım :
Kod:
import sys
print(sys.path)
Bize çıktı olarak vereceği şey aslında bir liste. Bu listeye istediğimiz şekilde istediğimiz path'i ekleyebiliriz. Peki nasıl ?
Bu bir liste demiştik ve biz listelere .append() ile eleman ekliyoruz :
Kod:
import sys
print(sys.path)
sys.path.append('yol')
Eğer bunu yaparsak ve yol yerine kendi yazdığımız modülün yolunu verirsek modülümüzü istediğimiz yerden çağırabileceğiz. Çünkü modülümüzün yolu arama yapılan yolların bulunduğu listeye eklendi.
Üçüncü Şahıs python modüllerini yüklemek.
Öncelikle pip yüklememiz gerekmektedir.
Ubuntu,Debian,Mint için Pip kurulumu :
Kod:
sudo apt-get install python-pip
Fedora için Pip kurulumu :
Kod:
sudo yum install python-pip
Archlinux
Kod:
sudo pacman -S python-pip
Windows için :
Get Pip dosyasını bilgisayarınıza indirin ve cmd'den buluduğu konuma girin(cd klasör_adi).
Şu komutu çalıştırın :
Kod:
python get-pip.py
Pip bilgisayarınıza kurulacaktır. Dosya bulunamadı hatası alırsanız get-pip.py dosyasının bulunduğu konumu tekrar kontrol edin.
Modülleri yüklemek
Kod:
pip install <modul>
Modülleri Silmek
Kod:
pip uninstall <modul>
Moderatör tarafında düzenlendi: