Paketler ve __init__.py
Modülleri uygun dizin yapısıyla paketler hâlinde düzenleyin.
Paketler ve __init__.py, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Paket Nedir?
Bir paket, bir __init__.py dosyası ve bir veya daha fazla modül içeren bir dizindir. Python, bu tür dizinleri içe aktarabileceğiniz paketler olarak ele alır.
mypackage/
__init__.py
utils.py
math_helpers.py__init__.py Dosyası
__init__.py, paket içe aktarıldığında çalışır. Boş olabilir veya seçili adları çağıranların kullanımına sunabilir.
# mypackage/__init__.py
from .utils import helper
from .math_helpers import addPaketten İçe Aktarma
Alt modülleri veya __init__.py içinde tanımlanan adları içe aktarmak için nokta gösterimini kullanın.
import mypackage
from mypackage import helper
from mypackage.math_helpers import add
print(add(2, 3))Alt Paketler
Paketler iç içe yerleştirilebilir: kendi __init__.py dosyasına sahip bir alt dizin, alt paket olur.
mypackage/
__init__.py
network/
__init__.py
http.pyGöreli İçe Aktarmalar
Bir paketin içinde, paket adını sabit kodlamadan kardeş modüllere başvurmak için başında nokta bulunan göreli içe aktarmaları kullanın.
# mypackage/network/http.py
from ..utils import helper # two levels upMutlak ve Göreli İçe Aktarmalar
Mutlak içe aktarmalar açıkça anlaşılır ve tercih edilir. Göreli içe aktarmalar, uzun adlardan kaçınmak için büyük paketlerin içinde kullanışlıdır.
# Absolute
from mypackage.utils import helper
# Relative (inside mypackage)
from .utils import helper__init__.py İçinde __all__
__all__ tanımlayarak from package import * ifadesinin neleri dışa aktaracağını denetleyin.
# mypackage/__init__.py
__all__ = ['helper', 'add']
from .utils import helper
from .math_helpers import addAd Alanı Paketleri (PEP 420)
Python 3.3 ve sonraki sürümler, __init__.py içermeyen dizinler olan ad alanı paketlerini destekler. Bir paketi birden çok dizine bölmek için kullanışlıdır.
# No __init__.py needed
# Just have the directory and import normally
import myns.modulePaket __init__ Başlatması
Paket düzeyinde sabitler ayarlamak, logging yapılandırmak veya ağır alt modülleri tembel olarak yüklemek için __init__.py kullanın.
# mypackage/__init__.py
import logging
logging.getLogger(__name__).addHandler(logging.NullHandler())
VERSION = '1.0.0'Paketleri Dağıtma
Paketinizi pip ile kurulabilir hâle getirmek için bir pyproject.toml veya setup.py ekleyin.
# pyproject.toml excerpt
[project]
name = "mypackage"
version = "1.0.0"
# Install locally
# pip install -e .Paket Özniteliklerini İnceleme
Çalışma zamanında paket meta verilerini incelemek için __file__, __path__ ve __name__ kullanın.
import mypackage
print(mypackage.__file__) # path to __init__.py
print(mypackage.__path__) # list of directory paths
print(mypackage.__name__) # 'mypackage'Hızlı Kontrol
Bir dizini Python paketi yapan dosya hangisidir?
Özet
Paketler, __init__.py kullanarak modülleri dizinler içinde düzenler. Açıklık için mutlak içe aktarmaları, paket içinde göreli içe aktarmaları ve genel API'leri denetlemek için __all__ kullanın.
Sıkça Sorulan Sorular
“Paketler ve __init__.py” dersi ücretsiz mi?
Evet — “Paketler ve __init__.py” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Paketler ve __init__.py” dersinde ne öğreneceğim?
Modülleri uygun dizin yapısıyla paketler hâlinde düzenleyin. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Paketler ve __init__.py” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Modül Oluşturma ve İçe Aktarma
- Python Standart Kitaplığı
- Paketler ve __init__.py
- pip ile Paket Yükleme