Python’da Paketler (Packages)

Bu makalede, Python paketlerini kullanarak kod tabanınızı temiz, verimli modüllere bölmeyi öğreneceksiniz. Ayrıca, bir Python programında kendi veya üçüncü taraf paketlerinizi içe aktarmayı ve kullanmayı öğreneceksiniz.

Paketler nelerdir?

Genelde tüm dosyalarımızı bilgisayarımızda aynı yerde saklamayız. Daha kolay erişim için iyi organize edilmiş bir dizin hiyerarşisi kullanıyoruz.

Benzer dosyalar aynı dizinde tutulur, örneğin tüm şarkıları ” müzik ” dizininde tutabiliriz. Buna benzer olarak Python, dizinler için paketlere ve dosyalar için modüllere sahiptir.

Uygulama programımız çok sayıda modülle büyüdüğü için benzer modülleri tek pakete, farklı modülleri farklı paketlere yerleştiriyoruz. Bu, bir projeyi (programı) yönetmeyi kolay ve kavramsal olarak net hale getirir.

Benzer şekilde, bir dizin alt dizinleri ve dosyaları içerebileceğinden, bir Python paketinin alt paketleri ve modülleri olabilir.

__init__.pyPython’un onu bir paket olarak kabul etmesi için bir dizin adında bir dosya içermelidir . Bu dosya boş bırakılabilir, ancak genellikle o paketin başlatma kodunu bu dosyaya yerleştiririz.

İşte bir örnek. Diyelim ki bir oyun geliştiriyoruz. Olası bir paket ve modül organizasyonu aşağıdaki şekilde gösterildiği gibi olabilir.

Python Programlamada Paket Modül Yapısı
Python Programlamada Paket Modül Yapısı

Modülü bir paketten içe aktarma

Nokta (.) operatörünü kullanarak paketlerden modülleri içe aktarabiliriz.

Örneğin yukarıdaki örnekteki modülü import etmek istersek startşu şekilde yapılabilir:

Şimdi, bu modül adında bir fonksiyonselect_difficulty() içeriyorsa , ona referans vermek için tam adı kullanmalıyız.

Bu yapı uzun görünüyorsa, modülü paket öneki olmadan aşağıdaki gibi içe aktarabiliriz:

Şimdi fonksiyonu basitçe şu şekilde çağırabiliriz:

Bir paket içindeki bir modülden yalnızca gerekli işlevi (veya sınıfı veya değişkeni) içe aktarmanın başka bir yolu şu şekilde olabilir:

Şimdi doğrudan bu fonksiyonu çağırabiliriz.

Daha kolay olmasına rağmen, bu yöntem önerilmez. Tam ad alanını kullanmak, karışıklığı önler ve aynı iki tanımlayıcı adının çarpışmasını önler.

Paketleri içe aktarırken Python, modül arama yolundasys.path olduğu gibi, içinde tanımlanan dizinler listesine bakar .

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.