📦Modül ve Paketler

Python ile module ve package kodlama veya oluşturma

🚶‍♂️ Dosyalar Arasında Gezinme

  • 💡 Python ile dizinlerde bulunan kaynak kodları __init__.py dosyası ile belirtilir

  • 📢 Eğer dizinde __init__.py olmazsa kaynak kod dosyaları arasında import işlemi yapılmaz

  • 👨‍💻 Kaynak kodlardan import işlemleri için . karakteri kullanılır

    • . ile aynı dizindeki dosyaya

    • .. ile üst dizindeki dosyaya

    • ... ile 2 üst dizindeki dosyaya erişilir

📂 Modüller

Her python dosyasına modül denir.

  • import ile dahil edilirler

  • . ile içindekilere erişilir

  • Modül barındıran dizinler __init__.py dosyası içermelidir

  • __init__.py dosyası . yapısının kullanılmasına ve __all__=[''] yapısı ile hangi objelerin aktarılacağını belirler

__init__.py
"""GitBook yönetim paketi
"""
# aynı dizinde core.py isimli dosyaya erişme
from .core import (check_summary, create_changelog,
                   generate_description_section, generate_filelink_string,
                   get_summary_url_from_repo_url, read_summary_from_url)
                   
# aynı dizinde entity.py isimli dosyaya erişme
from .entity import (ConfigOptions, IntegrationOptions, OptionParser, Options,
                     SubmoduleOptions)

# Sadece alttaki objeler dışarı aktarılır
__all__ = [
    'IntegrationOptions',
    'SubmoduleOptions',
    'ConfigOptions',
    'OptionParser',
    'Options',
    'generate_description_section',
    'generate_filelink_string',
    'get_summary_url_from_repo_url',
    'read_summary_from_url',
    'check_summary',
    'create_changelog'
]

⭐ Modül Kullanım Örnekleri

  • Python aynı modülü birden fazla kez import etmez

    • Kullanıcı birden fazla import işlemi yaparsa tepki vermez

  • Baştan import edilmek istenirse imp.reload(modül) şeklinde kullanılır

import math # Doğrudan öodülü alma
print("Pi: ", math.pi) # Pi: 3.141592653589793
import math as m # Modülü özel isimlendirme
print("Pi: ", m.pi) # Pi: 3.141592653589793
from math import pi # Modül içinden özel değeri alma
print("Pi: ", pi) # Pi: 3.141592653589793
from math import * # Modül içindeki her şeyi alma
print("Pi: ", pi) # Pi: 3.141592653589793

📁 Modül Dosyaları

Modül dosyalarının aranma yerleri:

  • Çalışılan dizin

  • Ortam değişkenlerindeki PYTHONPATH değişkeni değeri

  • Kuruluma bağlı varsayılan dizin

>>> import sys
>>> sys.path
['',
'C:\\Python33\\Lib\\idlelib',
'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs',
'C:\\Python33\\lib',
'C:\\Python33',
'C:\\Python33\\lib\\site-packages']

>>> import example
>>> example.__name__
'example'

>>> a = 1 # Modül değişkenlerine ekleniyor
>>> b = "hello" # Modül değişkenlerine ekleniyor
>>> import math # Modül değişkenlerine ekleniyor
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'b', 'math', 'pyscripter']

📦 Paketler (Package)

  • Birden fazla modülü içinde barındırır

  • . ile modüllere erişilir

    • Tekrar . atılırsa modülün içindekilere erişilir

import Game.Level.start
from Game.Level import start
from Game.Level.start import select_difficulty

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk