Press "Enter" to skip to content

Python Modüller

Yaşar SAFALI 0

Python Modüller

Modüller Python programcılarına büyük kolaylık sağlayan yapılardan biridir.Python modüller; içerisinde bir takım özellikleri,fonksiyonları barındıran yapılardır.Programlama da en önemli hususlardan birisinin kod tekrarının önüne geçmek olduğunu söylemiştik.Classlar ve Fonksiyonlar yazılarımızda  bu yapılar ile programlarımıza modülerlik kazandırabileceğimizi söylemiştik.Modüller de aynı mantıkla çalışırlar.Programcıya farklı farklı yerlerde aynı kodu kullanma imkanı verirler.

Python’da modüller iki kategoriye ayrılırlar.

  • Hazır Modüller
  • Kendi Tanımladığımız Modüller

İlk olarak hazır modülleri inceleyelim.

Hazır Modüller:

Hazır modüller Python geliştiricilerinin veya Python Programcılarının geliştirip kullanıma sunduğu modüllerdir.Python’da yer alan Standart Kütüphaneleri bu adresten inceleyebilirsiniz.

Modüllerin Projeye Dahil Edilmesi

Python’da modüllerin projeye dahil edilmesinin bir kaç yolu vardır.

İlk olarak import komutunun kullanımını inceleyelim.Python’da yer alan os modülünü projeye dahil edelim.

import komutunun genel kullanımı import modul_adi şeklindedir.

import os

Modül projeye dahil edildi.Şimdi modüle ait özellikleri listeleyelim.

print(dir(os))

Output:

[‘DirEntry’, ‘F_OK’, ‘MutableMapping’, ‘O_APPEND’, ‘O_BINARY’, ‘O_CREAT’, ‘O_EXCL’, ‘O_NOINHERIT’, ‘O_RANDOM’, ‘O_RDONLY’, ‘O_RDWR’, ‘O_SEQUENTIAL’, ‘O_SHORT_LIVED’, ‘O_TEMPORARY’, ‘O_TEXT’, ‘O_TRUNC’, ‘O_WRONLY’, ‘P_DETACH’, ‘P_NOWAIT’, ‘P_NOWAITO’, ‘P_OVERLAY’, ‘P_WAIT’, ‘PathLike’, ‘R_OK’, ‘SEEK_CUR’, ‘SEEK_END’, ‘SEEK_SET’, ‘TMP_MAX’, ‘W_OK’, ‘X_OK’, ‘_Environ’, ‘__all__’, ‘__builtins__’, ‘__cached__’, ‘__doc__’, ‘__file__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__spec__’, ‘_execvpe’, ‘_exists’, ‘_exit’, ‘_fspath’, ‘_get_exports_list’, ‘_putenv’, ‘_unsetenv’, ‘_wrap_close’, ‘abc’, ‘abort’, ‘access’, ‘altsep’, ‘chdir’, ‘chmod’, ‘close’, ‘closerange’, ‘cpu_count’, ‘curdir’, ‘defpath’, ‘device_encoding’, ‘devnull’, ‘dup’, ‘dup2’, ‘environ’, ‘errno’, ‘error’, ‘execl’, ‘execle’, ‘execlp’, ‘execlpe’, ‘execv’, ‘execve’, ‘execvp’, ‘execvpe’, ‘extsep’, ‘fdopen’, ‘fsdecode’, ‘fsencode’, ‘fspath’, ‘fstat’, ‘fsync’, ‘ftruncate’, ‘get_exec_path’, ‘get_handle_inheritable’, ‘get_inheritable’, ‘get_terminal_size’, ‘getcwd’, ‘getcwdb’, ‘getenv’, ‘getlogin’, ‘getpid’, ‘getppid’, ‘isatty’, ‘kill’, ‘linesep’, ‘link’, ‘listdir’, ‘lseek’, ‘lstat’, ‘makedirs’, ‘mkdir’, ‘name’, ‘open’, ‘pardir’, ‘path’, ‘pathsep’, ‘pipe’, ‘popen’, ‘putenv’, ‘read’, ‘readlink’, ‘remove’, ‘removedirs’, ‘rename’, ‘renames’, ‘replace’, ‘rmdir’, ‘scandir’, ‘sep’, ‘set_handle_inheritable’, ‘set_inheritable’, ‘spawnl’, ‘spawnle’, ‘spawnv’, ‘spawnve’, ‘st’, ‘startfile’, ‘stat’, ‘stat_float_times’, ‘stat_result’, ‘statvfs_result’, ‘strerror’, ‘supports_bytes_environ’, ‘supports_dir_fd’, ‘supports_effective_ids’, ‘supports_fd’, ‘supports_follow_symlinks’, ‘symlink’, ‘sys’, ‘system’, ‘terminal_size’, ‘times’, ‘times_result’, ‘truncate’, ‘umask’, ‘uname_result’, ‘unlink’, ‘urandom’, ‘utime’, ‘waitpid’, ‘walk’, ‘write’]

os modülü içerisinde yer alan fonksiyonların,classların,özelliklerin isimlerini yukarıda listeledik.Peki bir modülde yer alan özellikleri,metotları nasıl kullanacağız şimdi onu inceleyelim.

import os

print(os.name)

Output:

nt

Şimdi de modül içerisinde yer alan bir fonksiyonu çalıştıralım.

import os

print(os.getcwd())

Output:

C:\Users\***\PycharmProjects\python3

import ile modülleri projeye dahil etmenin bir başka yolu daha vardır.

import projeadi as isimlendirme genel kuralıyla da modül dahil etmek mümkündür.Bu yöntemde modül ismi yerine artık yaptığımız isimlendirme ile modülü kullanabiliriz.

import os as osmodulu
print(osmodulu.name)
print(osmodulu.getcwd())

Output:

nt
C:\Users\***\PycharmProjects\python3

 

from moduladı import yöntemiyle de projeye modül dahil edebiliriz.Bu yöntem şu şeklide kullanılır.

Projeye modülde yer alan bütün özellikleri dahil etmek için;

from os import*
print(os.name)

Output:

nt

Projeye modülde yer alan belirli özellikleri dahil etmek için;

from os import name,getcwd
print(name)
print(getcwd())

Output:

nt
C:\Users\***\PycharmProjects\python3

Dikkat edilmesi gereken nokta bu yöntemde  modüle ait bir özellik kullanılırken modül ismini kullanmaya gerek yoktur.

Projeye modülde yer alan belirli bir özelliği isimlendirerek dahil etmek için;

from os import name as nm
print(nm)

Output:

nt

Kendi Modülümüzü Tasarlamak

Python’da şuana kadar yaptığımız bütün kodlamalar aslanda bir modül olabilir.Modülleri tanımlarken içerisinde sınıfları,metotları veya özellikleri barındırabilirler demiştik.Şimdi basit bir modül oluştalım ve bu modülü projemize dahil etmeyi görelim.

İlk olarak modülümüzü tanımlayalım.

def Topla(a,b):
    return a+b
def Carp(a,b):
    return a*b

Şimdi oluşturduğumuz modülü projeye dahil edelim.

from  bizimmodul import Carp,Topla

print(Carp(5,5))

Output:

25

Yazdığımız modülü projeye dahil ederken dikkat etmemiz gereken husus modülün bulunduğu dizindir.Modüllerimizin genelde çalıştığımız dosya ile aynı konumda olması beklenir.Bunun dışında modülleri ekleyebileceğimiz dizinler de mevcuttur.Bu dizinleri yine bir başka modül ile şu şekilde görebiliriz.

import sys
print(sys.path)

Output:

[‘C:\\Users\\***\\PycharmProjects\\python3’, ‘C:\\Users\\***\\PycharmProjects\\python3’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\python36.zip’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\DLLs’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\lib’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\lib\\site-packages’, ‘C:\\Program Files\\JetBrains\\PyCharm 2018.2\\helpers\\pycharm_matplotlib_backend’]

Modülümüzü yukarıdaki herhangi bir dizine eklediğimizde dosyamız o modülü tanır.

Eğer modülü istediğiniz bir dizine eklemek isterseniz o dizini sisteme tanıtmanız gerekir.

Örneğin modülü “C:\Users\***\Desktop\modul” dizinine eklemek istiyorsunuz.Bunun için sys modülünü kullnarak path değerine ekleme yapmanız gerekir.

import sys
sys.path.append("C://Users//yasar//Desktop//modul")
print(sys.path)

Output:

[‘C:\\Users\\***\\PycharmProjects\\python3’, ‘C:\\Users\\***\\PycharmProjects\\python3’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\python36.zip’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\DLLs’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\lib’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3’, ‘C:\\ProgramData\\Anaconda3\\envs\\python3\\lib\\site-packages’, ‘C:\\Program Files\\JetBrains\\PyCharm 2018.2\\helpers\\pycharm_matplotlib_backend’, C://Users//yasar//Desktop//modul’]

 

3.Şahıs Modülleri ve Modül Kurulumu

Python programcıları tarafından oluşturulan  bu modülleri bu adresten bulabilirsiniz.

Modüllerin Kurulumu

Eğer kuracağınız modüller yukarıda verilen adreste yer alıyor ise kurmak için kullandığınız işletim sistemine göre komut satırına aşağıdaki komutlardan birini yazmalısınız.

pip install modüladı veya pip3 install modüladi komutlarını çalıştırarak modülü kurabilirsiniz.

 

Eğer kuracağınız modül .zip veya .tar.gz uzantılı ise komut satırında dosyaların bulunduğu dizine girip

python setup.py komutunu çalıştırmak olacaktır.

 

Python Modüller ile ilgili anlatacaklarımız bu kadar.Bir sonraki yazımızda görüşmek dileğiyle.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir