Python'da Modüller, Paketler ve Import Mantığı
Python'da kod tekrarını önlemek için fonksiyonları, sınıfları ve değişkenleri dosyalara ayırırsın. Bu dosyalara modül denir. Birden fazla modülü klasöre koyup organize edersen, buna paket adı verilir.
Bir modül, basitçe Python kodunun bulunduğu bir dosyadır (.py uzantılı). İçinde fonksiyon, sınıf, değişken barındırabilir. Başka bir dosyadan bu öğeleri kullanmak istediğinde import komutu ile çağırırsın.
Bir paket, modülleri içeren bir klasördür. Bu klasörün içinde mutlaka __init__.py dosyası bulunmalıdır (Python 3.3+ sürümlerde boş da olabilir, ama varlığı paket olduğunu gösterir).
Önce dosya yapısını oluştur:
1my_project/2├── math_tools.py3└── main.pyAdım 1: math_tools.py dosyasını oluştur
1def topla(a, b):2return a + b34def carp(a, b):5return a * b67PI = 3.14159Adım 2: main.py dosyasında modülü kullan
1import math_tools23sonuc = math_tools.topla(5, 3)4print(f"5 + 3 = {sonuc}")56sonuc2 = math_tools.carp(4, 7)7print(f"4 × 7 = {sonuc2}")89print(f"Pi değeri: {math_tools.PI}")Çıktı:
15 + 3 = 824 × 7 = 283Pi değeri: 3.14159from math_tools import topla yazarsan, sadece topla fonksiyonunu çağırırsın (modül adını yazmana gerek yok).
from math_tools import * yazarsan, tüm öğeleri doğrudan kullanırsın. Ama bu karışıklığa yol açabilir, önerilmez.
import math_tools as mt yazarsan, modülü kısa adla (mt) çağırırsın.
Birden fazla modülü organize etmek istersen:
1my_package/2├── __init__.py3├── math_tools.py4└── string_tools.pyBu durumda from my_package.math_tools import topla veya import my_package.math_tools yazarsın.
__init__.pydosyası boş olabilir ya da paket yüklenirken çalışacak kod içerebilir. Paket olarak tanınması için gereklidir.
0 yorum