ይህ ትምህርት በፓይዘን ውስጥ ባሉ ሞጁሎች እና ፓኬጆች ዙሪያ ይዘልቃል።
ኮድዎን በፋይል መልክ የሚያደራጁበት መንገድ ናቸው እና የድር መተግበሪያዎችን በፓይዘን ለመገንባት ካሰቡ በጣም አስፈላጊ ናቸው
ሞዱሎች
በፓይዘን ውስጥ ያለ ሞጁል በመሰረቱ አንዳንድ የፓይቶን ኮድ የያዘ ፋይል ሲሆን ይህም የእኛን ኮድ ወደ ፋይሎች ለማደራጀት የምንጠቀምበት ነው። በሱፐርማርኬት ውስጥ እንደ ክፍሎች አስቡት። ወደ ሱፐርማርኬት ስትሄድ ለፍራፍሬ፣ ለአትክልት፣ ለጽዳት ምርቶች ወዘተ የተለያዩ ክፍሎች አሉ። ሁሉንም ምርቶች የያዘ አንድ ክፍል አታይም።
በፕሮግራም ውስጥ ተመሳሳይ ጽንሰ-ሀሳብ ነው. በ main.py ውስጥ ያሉትን ሁሉንም ኮዶቻችንን ከመጻፍ ይልቅ ኮዳችንን ወደ ብዙ ፋይሎች እንከፋፍለዋለን። እያንዳንዱ ፋይል እንደ ሞጁል ይባላል. በዚህ አማካኝነት የእኛ ኮድ በተሻለ ሁኔታ የተደራጀ እና የተዋቀረ ብቻ ሳይሆን ኮድችንን እንደገና የመጠቀም ችሎታም አለን። በምሳሌ እንየው።
ክብደትን ከፓውንድ ወደ ኪሎግራም ለመቀየር ሁለት ተግባራትን እንግለጽ እና በተቃራኒው።
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
አሁን, እነዚህን ሁለት ተግባራት ወስደን በተለየ ሞጁል ውስጥ "converters" ውስጥ እናስቀምጣቸዋለን, ከዚያም እነዚህን የመቀየሪያ ተግባራት ወደሚያስፈልገው ማንኛውም ፕሮግራም ውስጥ ማስገባት እንችላለን. ይህን እንዴት ማድረግ እንዳለብኝ ላሳይህ።
የፕሮጀክታችንን ፓነል እንከፍተው እና ፕሮጀክቱን በቀኝ ጠቅ ያድርጉ እና አዲስ ፋይል እንጨምር። ይህንን ፋይል "Converters.py" ልንለው ነው።
አሁን ኮዱን ከነባሪው ፋይል ይቅዱ እና ወደ "Converters.py" ይለጥፉ።
በዚህም ዋናውን ሞጁላችንን አጽድተናል እና በተለያዩ ተግባራት አልተበጠሰም። ከክፍሎች ጋር ተጨማሪ ተግባራትን ስንጽፍ, በተዛማጅ ሞጁሎች ውስጥ እናስቀምጣቸዋለን. አንድ ሞጁል ሁሉንም ተዛማጅ ተግባራት እና ክፍሎች መያዝ አለበት. አሁን፣ የመቀየሪያ ሞጁሉን ወደ መተግበሪያ ሞጁላችን ማስመጣት እንፈልጋለን። ይህንን ለማድረግ, ይጻፉ import converters
ከላይ ".py" ያለ ቅጥያ.
ከስልቶች ጋር ተመሳሳይ በሆነ ነጥብ ኦፕሬተር በመጠቀም የአንድ ሞጁል አባላትን ማግኘት እንችላለን።
70 ኪሎ ግራም ወደ ፓውንድ እንለውጥ፡-
ሞጁሎችን ለማስመጣት ሌላ አገባብም አለ። ሙሉውን ሞጁል ከማስመጣት ይልቅ የተወሰኑ ተግባራትን ከዚያ ሞጁል ማስመጣት እንችላለን። መተየብ እንችላለን from Converters import
ያሉትን ተግባራት ዝርዝር ለማሳየት “control + space ን ይጫኑ። በዚህ አማካኝነት ይህንን ተግባር በቀጥታ ልንጠራው እንችላለን.
መልመጃ
የአካል ብቃት እንቅስቃሴህ ይኸውልህ።
ይህ ከተነጋገርንበት ትምህርት ልምምድ ጋር የተያያዘ ነው "ለ loops” ከዝርዝሩ ትልቁን ቁጥር ለማወቅ ፕሮግራም የጻፍንበት
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
ይህ ኮድ በአሁኑ ጊዜ ድርጅት የለውም። ምንም አይነት ተግባራት ወይም ሞጁሎች የሉንም እና ፕሮግራሙ የተፃፈው በአንድ ፋይል ነው. ያ ለአነስተኛ ፕሮግራሞች ምንም አይደለም ነገር ግን ፕሮግራሞችዎ እያደጉ ሲሄዱ ኮድዎን ወደ ክፍሎች እና ሞጁሎች በትክክል ማደራጀት ያስፈልግዎታል። ስለዚህ, የዚህ ልምምድ አካል እንደመሆኔ, አንድ ተግባር እንዲጽፉ እፈልጋለሁ, ይደውሉ find_max
. ይህ ተግባር ዝርዝር ወስዶ በዚያ ዝርዝር ውስጥ ትልቁን ቁጥር መመለስ አለበት። ከዚያ በኋላ ይቀጥሉ እና ይህን ተግባር በተለየ ሞጁል ውስጥ ያስቀምጡት, ከዚህ ያውጡት እና በተጠራው ሞጁል ውስጥ ያስቀምጡት utils
. ይህ ሞጁል ብዙ የመገልገያ ተግባራትን መያዝ አለበት። አስመጣ utils
ሞጁል ወደ የአሁኑ ሞጁል እና ይደውሉ find_max
ተግባር. በመጨረሻም ውጤቱን ያግኙ እና በተርሚናል ላይ ያትሙት.
ይህ መልመጃ ትንሽ ፈታኝ ቢሆንም በቀላሉ ሊሠራ የሚችል ነው።
መፍትሔ
ተግባርን በመግለጽ ይጀምሩ find_max
እና ቁጥሮች ተብሎ የሚጠራውን መለኪያ ያክሉ. በዚህ ተግባር ውስጥ በአንድ ዝርዝር ውስጥ ትልቁን ቁጥር ለማግኘት አልጎሪዝም ይፃፉ።
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
ይህንን ኮድ እንደ ሞጁል በ "utils.py" ፋይል ውስጥ ያስቀምጡት.
ወደ ዋናው ፕሮግራማችን እንመለስ፣ ሞጁሉን በሁለቱ አገባቦች ብቻ አስመጣ እና በቀላሉ አመክንዮውን ያስፈጽሙ።
አንድ ነገር፣ ትኩረታችሁን ወደ ተጎጂዎች ማምጣት አለብኝ max
. ለዚህ ምክንያቱ max
በፓይዘን ውስጥ አብሮ የተሰራ ተግባር ነው እና እንደገና እየገለፅነው ነው። ስለዚህ ይህ ከ ማስጠንቀቂያ ነው Python ማጠናከሪያ ከአሁን በኋላ ከፍተኛውን እንደ አብሮገነብ ተግባሩ ልንጠቀምበት አንችልም።
በፓይዘን ውስጥ አብሮ የተሰሩ ሞጁሎች
ፓይዘን ለተለመዱ ተግባራት ለምሳሌ ኢሜይሎችን መላክ፣ ከቀን እና ሰዓት ጋር መስራት፣ የዘፈቀደ እሴቶችን እና የይለፍ ቃሎችን መፍጠር እና የመሳሰሉትን ለመሳሰሉት በርካታ ሞጁሎችን ከያዘ መደበኛ ቤተ-መጽሐፍት ጋር አብሮ ይመጣል። በፓይዘን ውስጥ በጣም ብዙ ሞጁሎች አሉ ይህም ማለት ቀድሞውንም ቢሆን እንደገና ልንጠቀምባቸው የምንችላቸው ብዙ ተግባራት አሉ። እነዚህን ሞጁሎች ማግኘት ይችላሉ እዚህ.
ጥቅሎች
ፓኬጆች በመሠረቱ ሞጁሎች አናት ላይ የእኛን ኮድ ለማደራጀት ሌላ መንገድ ናቸው. እውነተኛ ፕሮጀክት በመቶዎች አልፎ ተርፎም በሺዎች የሚቆጠሩ ሞጁሎችን ሊይዝ ይችላል እና ከጊዜ በኋላ ማውጫችን በብዙ ፋይሎች ይነፋል። ስለዚህ, የተሻለው አቀራረብ ተያያዥ ሞጁሎችን በጥቅል ውስጥ ማደራጀት ሲሆን ይህም ጥቅሉን ለብዙ ሞጁሎች መያዣ ያደርገዋል.
አዲስ ማውጫ ወደ ፕሮጀክቱ ታክሏል እና ሁሉም ተዛማጅ ሞጁሎች ወደዚያ ማውጫ ውስጥ ይታከላሉ። እንደ ምሳሌ, የገበያ ማዕከሉን አስቡ. በገበያ ማዕከሉ ውስጥ ለወንዶች፣ ለሴቶች እና ለህፃናት አልባሳት እንደ ፓኬጆች ያሉ የተለያዩ ክፍሎች አሉ። እያንዳንዱ ክፍል እንደ ጫማ፣ ቲሸርት እና ጃኬቶች ላሉት ምርቶች የተለያዩ ቦታዎች አሉት። እነዚህን እንደ ሞጁሎች ያስቡ.
በፓይዘን ውስጥ ጥቅሎችን እንዴት መፍጠር እና መጠቀም እንደሚቻል እንይ።
በመጀመሪያ ከፕሮጀክት ፓነል አዲስ ማውጫ ያክሉ። “ኢኮሜርስ” እንበለው። ይህ ጥቅል ከኢኮሜርስ መተግበሪያ ጋር የተያያዙ ሁሉንም ሞጁሎች ይይዛል።
አሁንም ባዶ ማውጫ ነው እና ወደ ጥቅል ለመቀየር በውስጡ ልዩ ፋይል መፍጠር አለብን። በዚህ ማውጫ ውስጥ አዲስ የpython ፋይል ያክሉ እና ያንን ፋይል "__init__" ብለው ይሰይሙ። በፓይዘን ውስጥ ያለ ልዩ ኮንቬንሽን ነው እና የፓይዘን አስተርጓሚው ይህን ስም የያዘ ፋይል በማውጫ ውስጥ ሲያይ ይህን ማውጫ እንደ ጥቅል ይወስደዋል።
ጥቅል ለመፍጠር አማራጭ እና አጭር ዘዴም አለን። ልክ የፕሮጀክት ፓነልን በቀኝ ጠቅ ያድርጉ እና ከዝርዝሩ ውስጥ የ Python ጥቅል ይፍጠሩ። “ኢኮሜርስ” ብለው ይሰይሙት እና ያ ነው። በቀጥታ "__init__" የሚባል የፓይዘን ፋይል ያለው ማውጫ ይፈጥራል።
አሁን፣ በጥቅሉ ውስጥ አንድ ሞጁል እንፍጠር እና “መላኪያ” ብለን እንሰይመው። በዚህ ሞጁል ውስጥ የመላኪያ ወጪዎችን ለማስላት ቀላል ተግባር እንፍጠር።
def calc_shipping():
print("calc_shipping")
ይህንን ተግባር በዋና ሞጁላችን ውስጥ ለማግኘት በኢ-ኮሜርስ ጥቅል በኩል ማግኘት አለብን። ይህንን ሞጁል ለማስገባት ሁለት ዘዴዎች አሉን.
በመጀመሪያው ዘዴ መላውን ሞጁል ማስመጣት እና ከዚያ አንድ ተግባርን ለብቻው መጥራት እንችላለን-
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
ነገር ግን፣ በዚህ አቀራረብ፣ አንዱን ተግባር ወደዚህ ሞጁል መጥራት ቅድመ ቅጥያውን ይጠይቃል eCommerce.shipping.
ያ በጣም አነጋገር ነው። ስለዚህ, ከጥቅሎች ጋር ስንሰራ ብዙውን ጊዜ ሁለተኛውን አቀራረብ እንጠቀማለን እና እንጠቀማለን from
መግለጫ.
from eCommerce.shipping import calc_shipping
calc_shipping()
በአንድ ሞጁል ውስጥ ብዙ ተግባራት ካሉዎት በመካከላቸው ነጠላ ሰረዝ በመጠቀም ሁሉንም በአንድ መስመር ማስገባት ይችላሉ። በእኛ የመርከብ ሞጁል ውስጥ ታክስን ለማስላት ሌላ ተግባር አለ እንበል። ወደ ሀገር ውስጥ የሚገባው እንደዚህ ነው፡-
from eCommerce.shipping import calc_shipping, calc_tax
እንዲሁም ነጠላ ሞጁሎችን ማስመጣት እና ተግባራትን በፕሮግራሙ ውስጥ በኋለኛው ደረጃ እንዲጠሩ መተው ይችላሉ። ሞጁሉን ማጓጓዣ እናስመጣለን እና ተግባሩን ለመጥራት ነጥብ ኦፕሬተርን እንጠቀም calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
መጠቅለል!
ፓኬጆች እና ሞጁሎች በፓይዘን ውስጥ እጅግ በጣም አስፈላጊ ናቸው። በተለይም ለግንባታ የሚያገለግል እንደ Django ካለው ማዕቀፍ ጋር ለመስራት ሲፈልጉ የድር መተግበሪያዎች ከፓይዘን ጋር። ዲጃንጎን በሌላ የፓይዘን ኮርስ እንመለከታለን።
ይህ በዚህ ተከታታይ ውስጥ የመጨረሻው የተለመደ ትምህርት ነበር። የሚቀጥለው ትምህርት ከተለመደው ቅርጸታችን ያፈነግጣል እና አንዳንድ ጠቃሚ የአጠቃቀም ጉዳዮችን በ Python ውስጥ እንማራለን። ያ የዚህ ተከታታዮች ፍጻሜ ይሆናል እና ወደ ቀጣዩ የፓይዘን ተከታታዮቻችን እንቀጥላለን። ለዛ ይቆዩ።
መልስ ይስጡ