Python’da Kendi Modül ve Paketlerinizi Oluşturma

Modül ve Paketler, Python’da kendi modül ve paketlerinizi oluşturmak, kodunuzu daha modüler, organize ve yeniden kullanılabilir hale getirmenin harika bir yoludur. Bu, büyük projelerde kodun yönetimini kolaylaştırır ve tekrar kullanılabilirliği artırır. Kendi modül ve paketlerinizi oluşturmak oldukça basittir ve birkaç adımı içerir.

1. Python Modülleri Oluşturma

Bir Python modülü, tek bir .py dosyasından oluşur ve bu dosya içinde fonksiyonlar, sınıflar veya değişkenler tanımlanabilir. Bu modül daha sonra başka Python dosyalarında kullanılabilir.

a. Modül Oluşturma

Öncelikle, bir modül oluşturmak için bir Python dosyası oluşturmanız gerekir. Örneğin, mymodule.py adında bir dosya oluşturabilirsiniz:

mymodule.py:
# mymodule.py

def selamla(isim):
return f"Merhaba, {isim}!"

def topla(a, b):
return a + b
b. Modülü Kullanma

Oluşturduğunuz modülü başka bir Python dosyasında kullanmak için import ifadesini kullanabilirsiniz.

main.py:
# main.py

import mymodule

mesaj = mymodule.selamla("Ayşe")
print(mesaj) # Merhaba, Ayşe!

sonuc = mymodule.topla(5, 10)
print(sonuc) # 15

Bu örnekte, mymodule.py dosyasındaki selamla ve topla fonksiyonları main.py dosyasında kullanılır.

2. Python Paketleri Oluşturma

Bir paket, birden fazla modülü içeren bir dizindir. Paketler, modülleri mantıksal gruplar halinde organize etmek ve büyük projeleri yönetmek için kullanılır.

a. Paket Oluşturma

Bir paket oluşturmak için, bir dizin oluşturun ve bu dizine bir __init__.py dosyası ekleyin. __init__.py dosyası, dizini bir Python paketi olarak tanımlar. Bu dosya boş olabilir veya paket başlatma kodu içerebilir.

Dizin Yapısı:

mypackage/
__init__.py
module1.py
module2.py


mypackage/module1.py:

def fonksiyon1():
return "Bu, module1'deki bir işlevdir."
mypackage/module2.py:

def fonksiyon2():
return "Bu, module2'deki bir işlevdir."
b. Paketi Kullanma

Paket içindeki modülleri kullanmak için import ifadesini kullanabilirsiniz.

main.py:
# main.py

from mypackage import module1, module2

print(module1.fonksiyon1()) # Bu, module1'deki bir işlevdir.
print(module2.fonksiyon2()) # Bu, module2'deki bir işlevdir.

Bu örnekte, mypackage içindeki module1 ve module2 modülleri main.py dosyasında kullanılır.

3. Alt Paketler (Subpackages) Oluşturma

Bir paket içinde başka paketler (alt paketler) oluşturabilirsiniz. Bu durumda, alt paketler de kendi __init__.py dosyasına sahip olmalıdır.

a. Alt Paket Oluşturma

Alt paketler, ana paket içinde yer alan dizinlerdir. Bu dizinler, kendi modüllerini veya başka alt paketleri içerebilir.

Dizin Yapısı:

mypackage/
__init__.py
module1.py
subpackage/
__init__.py
submodule.py


mypackage/subpackage/submodule.py:

def sub_fonksiyon():
return "Bu, submodule'deki bir işlevdir."
b. Alt Paketi Kullanma

Alt paket içindeki modülleri kullanmak için from ... import ... ifadesini kullanabilirsiniz.

main.py:
# main.py

from mypackage.subpackage.submodule import sub_fonksiyon

print(sub_fonksiyon()) # Bu, submodule'deki bir işlevdir.

Bu örnekte, mypackage içindeki subpackage alt paketindeki submodule modülü main.py dosyasında kullanılır.

4. Paket ve Modül Adlarını Düzenleme

Python modül ve paket adları, küçük harfler ve alt çizgiler (_) kullanılarak adlandırılmalıdır. Bu, Python topluluğunda yaygın olarak kabul edilen bir stil kuralıdır.

5. Paketlerin ve Modüllerin Dağıtımı

Eğer oluşturduğunuz modüller ve paketler geniş bir kullanıcı kitlesine hitap edecekse, bunları dağıtmak isteyebilirsiniz. Python paketlerini dağıtmak için setuptools kullanabilir ve bunları PyPI’ye yükleyebilirsiniz.

a. setup.py Dosyası Oluşturma

Bir Python paketi dağıtmak için setup.py adlı bir dosya oluşturmanız gerekir. Bu dosya, paket hakkında bilgi içerir ve paket kurulumunu yönetir.

Örnek setup.py:
from setuptools import setup, find_packages

setup(
name="mypackage",
version="0.1",
packages=find_packages(),
install_requires=[
# Burada gerekli dış kütüphaneleri belirtebilirsiniz
],
)
b. Paket Yükleme ve Dağıtma

Paketinizi PyPI’ye yüklemek için twine kullanabilirsiniz. Ancak, bu adımlar daha ileri düzeydeki dağıtım işlemlerini içerir.

6. Modül ve Paket Testleri

Modüllerinizi ve paketlerinizi test etmek için Python’un yerleşik unittest modülünü veya popüler üçüncü taraf test kütüphanesi pytest‘i kullanabilirsiniz.

a. Basit Bir Test
# test_mymodule.py
import unittest
from mymodule import selamlaclass TestMyModule(unittest.TestCase):
def test_selamla(self):
self.assertEqual(selamla("Ayşe"), "Merhaba, Ayşe!")if __name__ == "__main__":
unittest.main()

Bu örnekte, selamla fonksiyonu test edilir ve beklendiği gibi çalışıp çalışmadığı kontrol edilir.

Modül ve Paketler, Python’da kendi modül ve paketlerinizi oluşturmak, kodunuzu daha düzenli, modüler ve yeniden kullanılabilir hale getirir. Modüller, tek bir Python dosyasından oluşurken, paketler birden fazla modülü içeren dizinlerdir. Bu yapılar, büyük projelerde kodun yönetimini kolaylaştırır ve farklı projeler arasında kodun tekrar kullanılmasına olanak tanır. Ayrıca, kendi modüllerinizi ve paketlerinizi test etmek ve dağıtmak için de gerekli araçlar ve yöntemler mevcuttur.

Comments

“Python’da Kendi Modül ve Paketlerinizi Oluşturma” için bir yanıt

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.