📦 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

✨ Tanımlama
🌟 Sık Kullanılanlar
🎲 Random
✨ Tanımlama
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
🌟 Sık Kullanılanlar

Modül

Odaklantığı İşlemler

math

Matematiksel

random

Rastgele

Numpy

Vektör işlemleri ve üst seviye matematik

Pandas

Veri işlemleri

Scipy

Scikit-Learn

Matplotlib

Grafik, çizim ve tablo işlemleri

Seaborn

TensorFlow

Makine Öğrenimi ve Deep Learning

tqdm

Progress Bar (Yüklenyior vs gibi işlemler için)

colorama

Terminal renklendirme

🎲 Random

Fonksiyon

Açıklama

random()

0 <= sayı <= 1 kesirli sayı

randrange(<max>)

sayı <= max

randrange(<min>, <max>, <adım>)

min <= sayı <= max (adım kadar artar)

📁 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

👁‍🗨 Sistemin Python Modüllerine Bakma
👀 Modül İçinde Tanımlanan İsimlere Bakma
👁‍🗨 Sistemin Python Modüllerine Bakma
>>> 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']
👀 Modül İçinde Tanımlanan İsimlere Bakma
>>> dir(example)
['__builtins__',
'__cached__',
'__doc__',
'__file__',
'__initializing__',
'__loader__',
'__name__',
'__package__',
'add']

📦 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