DOLAR 41,2781 0,27%
EURO 48,3573 0,47%
ALTIN 4.751,95-0,07
BITCOIN 45777110.42443%
İstanbul
26°

KAPALI

SABAHA KALAN SÜRE

Kendi Python Modülünü Yaz – Script Seviyesini Artır
236 okunma

Kendi Python Modülünü Yaz – Script Seviyesini Artır

ABONE OL
Nisan 5, 2025 10:02
Kendi Python Modülünü Yaz – Script Seviyesini Artır
0

BEĞENDİM

ABONE OL

Python modülleri, büyük ve karmaşık projelerde kodunuzu düzenlemek, tekrar kullanılabilir hale getirmek ve bakımı kolaylaştırmak için çok önemli araçlardır. Kendi modülünüzü yazmak, Python kodunuzu daha organize hale getirir ve başka projelerde de kullanabileceğiniz fonksiyonları veya sınıfları dışarıdan çağırmanıza imkan tanır. Bu yazıda, sıfırdan bir Python modülü yazmayı ve modülünüzü nasıl kullanacağınızı detaylı bir şekilde öğreneceğiz.

1. Python Modülü Nedir?

Python modülü, Python dilinde yazılmış bir dosyadır (genellikle .py uzantılı) ve bu dosya içindeki fonksiyonlar, sınıflar, değişkenler ve diğer kod blokları başka Python dosyalarında kullanılabilir. Modüller, bir veya daha fazla işlevi bir arada barındıran dosyalardır ve bu sayede kodunuzu düzenli tutabilir ve tekrar kullanılabilir hale getirebilirsiniz.

2. Modül Yazmaya Başlamak

Python modülünüzü yazmaya başlamak için öncelikle bir dosya oluşturmanız gerekir. Modül dosyanızda, işlevsellik ekleyeceğiniz fonksiyonlar ve sınıfları tanımlayabilirsiniz.

Örnek: Basit Bir Hesaplama Modülü

Bu örnekte, matematiksel işlemler yapan bir modül yazacağız. Modülümüzde dört işlem (toplama, çıkarma, çarpma, bölme) fonksiyonları yer alacak.

  1. Modül Dosyasını Oluşturma

Bir dosya oluşturun, örneğin calculator.py. Bu dosyada işlem fonksiyonlarını tanımlayacağız.

# calculator.py

# Toplama fonksiyonu
def add(x, y):
    return x + y

# Çıkarma fonksiyonu
def subtract(x, y):
    return x - y

# Çarpma fonksiyonu
def multiply(x, y):
    return x * y

# Bölme fonksiyonu
def divide(x, y):
    if y == 0:
        raise ValueError("Bölme hatası: Sıfıra bölme yapılamaz.")
    return x / y

Yukarıdaki calculator.py dosyasındaki fonksiyonlar:

  • add(x, y): x ve y değerlerini toplar.
  • subtract(x, y): x ve y değerlerini birbirinden çıkarır.
  • multiply(x, y): x ve y değerlerini çarpar.
  • divide(x, y): x ve y değerlerini böler. Ancak, bölme işlemi sırasında sıfıra bölme hatası kontrol edilir.

2. Modülü Kullanmak

Modülünüzü yazdıktan sonra, bu modülü başka bir Python dosyasından kullanabilirsiniz. Python’da modül kullanmak için import anahtar kelimesi kullanılır.

Örneğin, yazdığınız calculator.py modülünü başka bir Python dosyasına dahil edelim ve fonksiyonları kullanalım.

# main.py

# calculator modülünü içe aktar
import calculator

# Fonksiyonları kullan
print("Toplama: ", calculator.add(10, 5))         # 15
print("Çıkarma: ", calculator.subtract(10, 5))    # 5
print("Çarpma: ", calculator.multiply(10, 5))     # 50
print("Bölme: ", calculator.divide(10, 5))         # 2.0

Bu kodda:

  • import calculator: calculator.py modülünü projemize dahil ederiz.
  • Ardından modüldeki fonksiyonları kullanarak dört işlemi gerçekleştiririz.

3. Modülü Kullanırken Aliasing

Eğer modül isminin çok uzun olduğunu düşünüyorsanız, modülü içe aktarırken kısaltma (alias) kullanabilirsiniz. Bunun için as anahtar kelimesini kullanabilirsiniz.

Örneğin:

# main.py

# calculator modülünü 'calc' olarak içe aktar
import calculator as calc

print("Toplama: ", calc.add(10, 5))  # 15

Burada, calculator modülünü calc olarak içe aktardık ve fonksiyonları calc üzerinden çağırdık. Bu, modül ismini kısaltarak kodu daha okunabilir hale getirebilir.

4. Modül İçindeki Fonksiyonları Doğrudan İçe Aktarmak

Bazen modülünüzdeki sadece birkaç fonksiyonu kullanmak isteyebilirsiniz. Bunun için, modülün içindeki belirli fonksiyonları doğrudan içe aktarabilirsiniz:

# main.py

# Sadece add ve subtract fonksiyonlarını içe aktar
from calculator import add, subtract

print("Toplama: ", add(10, 5))      # 15
print("Çıkarma: ", subtract(10, 5))  # 5

Bu yöntemde, sadece kullanmak istediğiniz fonksiyonları import ederek, modülü daha verimli kullanabilirsiniz.

5. Modül İçinde Main Guard Kullanmak

Eğer modülünüzde bir dosya çalıştırmak isterseniz, dosyanın başka bir dosya tarafından modül olarak kullanılabilir olmasını sağlamak için if __name__ == "__main__": yapısını kullanabilirsiniz. Bu yapı, dosya yalnızca doğrudan çalıştırıldığında çalışacak, dışarıdan modül olarak import edilse bile çalışmayacaktır.

Örneğin:

# calculator.py

def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    if y == 0:
        raise ValueError("Bölme hatası: Sıfıra bölme yapılamaz.")
    return x / y

# Bu modül doğrudan çalıştırıldığında test fonksiyonunu çalıştır
if __name__ == "__main__":
    print("Toplama: ", add(10, 5))  # 15
    print("Çıkarma: ", subtract(10, 5))  # 5
    print("Çarpma: ", multiply(10, 5))  # 50
    print("Bölme: ", divide(10, 5))  # 2.0

Buradaki if __name__ == "__main__": bloğu, modülün yalnızca kendi başına çalıştırıldığında test işlemlerini yapmasını sağlar. Modül başka bir dosyaya import edildiğinde bu blok çalışmaz.

6. Modülünüzü Paket Haline Getirmek

Eğer birden fazla modülünüz varsa, bunları bir paket haline getirebilirsiniz. Python paketleri, modülleri gruplayarak büyük projeleri organize etmek için kullanılır.

Örneğin, bir math_operations adında bir paket oluşturalım:

math_operations/
    __init__.py
    add.py
    subtract.py
    multiply.py
    divide.py
  • __init__.py: Paket olarak işlev görmesini sağlayan özel bir dosya.
  • Diğer dosyalar: Her bir işlem için ayrı modüller içerir.

7. Paketlerin Kullanımı

Eğer yukarıdaki gibi bir paket oluşturduysanız, onu şu şekilde kullanabilirsiniz:

# main.py

from math_operations import add, subtract

print(add(10, 5))         # 15
print(subtract(10, 5))    # 5

Sonuç

Kendi Python modülünüzü yazmak, kodunuzu daha temiz, düzenli ve sürdürülebilir hale getirebilir. Modüller, büyük projelerde kodunuzu bölmenize, işlevlerinizi paylaşmanıza ve yeniden kullanmanıza olanak tanır. Python’da modüller ve paketler oluşturmak, projelerinizi daha profesyonel ve bakımı kolay hale getirecektir. Ayrıca, dış kütüphaneleri de modül olarak kullanmak ve geliştirilen modülleri başka projelere entegre etmek oldukça kolaydır.

Bu yöntemlerle script seviyesini artırarak, daha verimli ve modüler bir yazılım geliştirme süreci oluşturabilirsiniz.

En az 10 karakter gerekli


HIZLI YORUM YAP
300x250r
300x250r

Veri politikasındaki amaçlarla sınırlı ve mevzuata uygun şekilde çerez konumlandırmaktayız. Detaylar için veri politikamızı inceleyebilirsiniz.