Python somo la 22: Package kwenye Python
Hapa utakwenda kujifunz amaana ya package, aina zake na jinsi ya kuandika package.
Package kwenye Python
Maana ya Package
Package kwenye Python ni mkusanyiko wa modules zilizoandaliwa ndani ya folda moja. Package hutumika kupanga modules zinazohusiana pamoja ili kurahisisha upatikanaji, urejelevu wa msimbo, na usimamizi wa miradi mikubwa ya programu.
Kwa nini kutumia Package?
-
Kusaidia kupanga msimbo wa programu kwenye miradi mikubwa.
-
Kuruhusu kushirikisha msimbo baina ya modules kwa urahisi.
-
Kupunguza mgongano wa majina ya modules kwa kutumia namespace.
Tofauti kati ya Module na Package:
-
Module ni faili moja la .py.
-
Package ni folda yenye modules moja au zaidi.
Jinsi Package Inavyofanya Kazi
-
Package inawakilishwa na folda yenye faili moja maalum linaloitwa __init__.py.
-
__init__.py linaweza kuwa tupu au kuwa na msimbo unaohitajika kuanzisha package.
-
Python inatambua folda yenye faili la __init__.py kama package.
Mifano ya Package
Mfano Rahisi
Tengeneza package inayoitwa hesabu yenye modules mbili: eneo.py na volum.py. Zingatia kuwa ili folda liite package lazima kuwepo na faili linaloitwa _ _init_ _.py
Muundo wa Folda:
hesabu/
│
├── __init__.py
├── eneo.py
└── volum.py
-
eneo.py:
def mraba(urefu, upana):
return urefu * upana
def pembetatu(kimo, kitako):
return (kimo * kitako) / 2.0
-
volum.py:
def mchemraba(urefu):
return urefu ** 3
def silinda(r, h):
return 3.14159 * (r ** 2) * h
-
__init__.py:
-
Hili faili linaweza kuwa tupu au kuorodhesha modules zinazopatikana kwenye package. Kwa mfano:
from .eneo import mraba, pembetatu
from .volum import mchemraba, silinda
Kutumia Package
Tumia package yako kwenye programu: main.py
from hesabu.eneo import mraba, pembetatu
from hesabu.volum import mchemraba, silinda
print(f"Eneo la mraba: {mraba(4, 5)}") # 20
print(f"Eneo la pembetatu: {pembetatu(4, 6)}") # 12.0
print(f"Volum ya mchemraba: {mchemraba(3)}") # 27
print(f"Volum ya silinda: {silinda(2, 5)}") # 62.8318
Hatua kwa Hatua: Jinsi ya Kutengeneza Package
Hatua 1: Unda Folda
Unda folda na upe jina lako. Hii ndio itakuwa package yako, kwa mfano mahesabu.
Hatua 2: Unda Faili la __init__.py
Faili hili linahitajika ili Python itambue folda kama package. Linaweza kuwa tupu au lisiwe tupu kulingana na mahitaji yako.
Hatua 3: Unda Modules
Andika modules tofauti kwa kazi maalum ndani ya package yako.
Hatua 4: Leta Package Kwenye Programu
Tumia import kuleta package au modules kutoka kwenye package yako.
Mfano wa Package Inayojumuisha Sub-Packages
Package inaweza pia kuwa na sub-packages, ambazo ni packages ndogo ndani ya package kubwa.
Muundo wa Folda:
project/
│
├── hesabu/
│ ├── __init__.py
│ ├── eneo/
│ │ ├── __init__.py
│ │ ├── mraba.py
│ │ └── pembetatu.py
│ └── volum/
│ ├── __init__.py
│ ├── silinda.py
│ └── mchemraba.py
└── main.py
-
hesabu/eneo/mraba.py:
def eneo(urefu, upana):
return urefu * upana
-
hesabu/eneo/pembetatu.py:
def eneo(kimo, kitako):
return (kimo * kitako) / 2.0
-
hesabu/volum/silinda.py:
def volum(r, h):
return 3.14159 * (r ** 2) * h
-
hesabu/volum/mchemraba.py:
def volum(urefu):
return urefu ** 3
-
hesabu/__init__.py:
from .eneo import mraba, pembetatu
from .volum import silinda, mchemraba
-
Kwenye main.py:
from hesabu.eneo.mraba import eneo as eneo_mraba
from hesabu.volum.silinda import volum as volum_silinda
print(f"Eneo la mraba: {eneo_mraba(5, 4)}") # 20
print(f"Volum ya silinda: {volum_silinda(3, 7)}") # 197.92034
Faida za Packages
-
Kuweka msimbo ulioandaliwa vizuri: Inarahisisha kusimamia miradi mikubwa.
-
Kuongeza urejelevu: Modules zilizopo kwenye package zinaweza kutumika tena.
-
Namespace: Huzuia migongano ya majina ya functions au variables.
Hitimisho
Packages ni njia ya juu ya kupanga msimbo wako wa Python. Kwa kutumia folda, __init__.py, na modules, unaweza kuunda miradi inayoweza kudhibitiwa kwa urahisi na kutumia tena msimbo mara nyingi. Packages husaidia programu kuwa safi, rahisi kudhibiti, na kubadilika kwa mahitaji makubwa ya miradi ya kisasa.
Umeionaje Makala hii.. ?
Share On:
👉1 web hosting 👉2 Sira ya Mtume Muhammad (s.a.w) 👉3 ai web app 👉4 Bongolite - Game zone - Play free game 👉5 Tafasiri ya Riyadh Swalihina 👉6 Madrasa kiganjani
Post zinazofanana:
PYTHON - somo la 9: indexing katika strinfg
Katika somo hili tutakwenda kujifunza kuhusu string indexing. Kama tulivyojifunza kuhusu namba katika somo lililopita, basi hapa tutakwenda kucheza na string.
Soma Zaidi...PYTHON - somo la 2: Sheria za uandishi wa pyhton yaani syntax za python
Katika somo hili utakwenda kujifunza syntaxy za python yaani sheria na kanuni za kuandika code za python
Soma Zaidi...Python somo la 21: Module katika python
Katika somo hili utakwend akujifunz amaana ya module, kazi zake, aina zake na jinsi ya kuandika modile
Soma Zaidi...Python somo la 24: Nini maana ya Object Oriented Programming
Hapa tunakwenda kujifunza kuhusu OOP ambapo ni miongoni mwa mitindo ya uandishi wa code
Soma Zaidi...PYTHON - somo la 4: Aina za data kwenye python
Katika somo hili utakwenda kujifunza aina za data ambazo hutumika kwenye python. hapa utajifunza aina kuu 3 za data.
Soma Zaidi...Python somo la 58: Jinsi ya Kuboresha Django Admin
Katika somo hili tutajifunza mambo matatu muhimu ya kuboresha admin ya Django: Jinsi ya kubadili header za Django Admin Jinsi ya kuongeza columns zinazojitokeza kwenye admin list Jinsi ya kuweka limit ya rows zinazoonekana kwa kila ukurasa (pagination)
Soma Zaidi...