Модулдар жана пакеттер
Чоңойгон программаны кайра колдонсо, импорттосо жана таратса боло турган файлдарга бөлүңүз
.py файл. Пакет — бул модулдардын каталогу. Бир алп скрипттин ордуна, байланышкан кодду аталышы бар файлдарга бөлүп, керектүү нерсени гана import аркылуу башка файлдарга тартып аласыз. Python'догу ар бир реалдуу долбоор — 200 саптык куралдан Django сыяктуу фреймворкко чейин — ушинтип түзүлгөн.
- модуль эмне экенин түшүндүрүп, өзүңүздүкүн жаза аласыз,
- импорттун бардык формаларын (
import,from ... import,as) колдонуп, алардын оң-терсин билесиз, - Python модулду кантип табаарын (
sys.path) жана__pycache__эмне экенин сүрөттөйсүз, if __name__ == "__main__":коргоосун туура колдоносуз,__init__.pyменен пакет курасыз жана абсолюттук менен салыштырмалуу импорттун ортосунда тандай аласыз.
1. Модуль деген эмне?
Баштапкы курста сиз import math жана import random деп жаздыңыз — булар Python менен кошо келген модулдар. Сыры жагымдуу жөнөкөй: модуль — бул жөн гана Python коду бар файл. .py кеңейтүүсү менен сакталган каалаган файл мурунтан эле модуль болуп саналат, ал эми файлдын аты (.py жок) — модулдун аты.
Айталы, сиз geometry.py жазасыз:
# geometry.py
PI = 3.14159
def circle_area(radius):
return PI * radius * radius
def rectangle_area(width, height):
return width * height
Ошол эле папкадагы башка файлдан эми бул кодду кайра колдоно аласыз:
# main.py
import geometry
print(geometry.circle_area(2))
print(geometry.PI)
Жыйынтык:
12.56636
3.14159
geometry.py файлынын жогорку деңгээлинде аныкталган аттар — PI, circle_area, rectangle_area — модуль объектинин атрибуттарына айланат жана чекит аркылуу жетүүгө болот: geometry.circle_area. Модулдар файлдардын папкасын тандап ала турган куралдар топтомуна айлантат.