ተግባራት
እስካሁን ድረስ ሁሉንም ኮዶቻችንን በ app.py ውስጥ እየጻፍን ነበር ነገርግን ፕሮግራሞቻችን እያደጉ ሲሄዱ ኮዳችንን ለማደራጀት የተሻለ መንገድ እንፈልጋለን። ኮዳችንን ተግባራት ብለን ወደምንጠራቸው ትናንሽ፣ ይበልጥ ሊተዳደር የሚችል እና ይበልጥ ሊጠበቁ ወደሚችሉ ቁርጥራጮች መክፈል አለብን። ተግባሩ አንድ የተወሰነ ተግባር ለሚያከናውኑ ጥቂት የኮድ መስመሮች መያዣ ነው.
ለምሳሌ፣ በፓይዘን ውስጥ ስላሉት ጥቂት አብሮ የተሰሩ ተግባራት አስቀድመው ተምረዋል። print()
ና input()
. እያንዳንዱ ተግባር ዓላማ አለው እና አንድ የተወሰነ ተግባር እንዴት ማከናወን እንዳለበት ያውቃል። ስለዚህ፣ ትልልቅ ውስብስብ ፕሮግራሞችን ስንገነባ፣ ኮዳችንን በትናንሽ እንደገና ጥቅም ላይ ሊውሉ የሚችሉ ክፍሎችን ማለትም ተግባራትን መክፈል አለብን።
የሰላምታ መልእክት ለማተም ፕሮግራም በመገንባት ይህንን ጽንሰ ሐሳብ እንረዳው።
print('Hi there!')
print('Welcome aboard!')
እዚህ ሁለት የኮድ መስመሮች ብቻ ያለው ቀላል ፕሮግራም አለን. አሁን፣ እንደገና ልንጠቀምባቸው የምንችለውን ተግባር ውስጥ ለማስቀመጥ በሌሎች ፕሮግራሞች ውስጥ እንፈልጋቸዋለን እንበል።
የተያዘ ቁልፍ ቃል ላስተዋውቅ def
በ Python ውስጥ፣ ለመግለፅ አጭር ነው እና ተግባርን ለመግለጽ የሚያገለግል።
def greet_user():
print('Hi there!')
print('Welcome aboard!')
አሁን ይህ የኮድ እገዳ ተግባርን ይገልፃል "greet_user
"ከዚያ በኋላ ከኮዶች መስመሮች ጋር. ይህ ተግባር በተጠራ ቁጥር እነዚህ ሁለት መስመሮች ይከናወናሉ. ይህንን እንጠቀም፡-
print('start')
greet_user()
print('finish')
ፕሮግራሙ በቅደም ተከተል ይከናወናል, ይህም ማለት በፕሮግራሙ ውስጥ ከመደወልዎ በፊት አንድ ተግባር መግለፅ አለብዎት.
ግቤቶች
የተገለጹት ተግባራት ከፒቲን አብሮገነብ ተግባራት ትንሽ በተለየ መልኩ ይሰራሉ። ለምሳሌ, በ print()
ተግባር፣ ማተም የምንፈልገውን የተወሰነ መረጃ ይወስዳል፣ ነገር ግን የሰላምታ ተግባራችን ምንም አይነት መረጃ አይወስድም። እዚህ እና ከዚያ በኋላ የተጠቃሚውን ስም ብታስተላልፍ፣ “ሠላም አለህ” ከማለት ይልቅ የተጠቃሚውን ስም ማተም ብትችል ጥሩ አይሆንም?
በተገለፀው ተግባር ቅንፍ ውስጥ ያሉትን መለኪያዎች በማከል ይህንን ማድረግ ይችላሉ። ላሳይህ፡-
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
አሁን "name
” በቅንፍ ውስጥ እንደ አካባቢያዊ ተለዋዋጭ ይሠራል እና የተጠቃሚውን ስም ስንጠራው ማለፍ እንችላለን።
greet_user('Shahbaz')
አሁን የስም መለኪያው ወደ " ተቀናብሯልShahbaz
” በማለት ተናግሯል። እሱን ለመጠቀም ፕሮግራሙን እንለውጠው።
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
ሊታወቅ የሚገባው ጠቃሚ ነገር በመጀመሪያው መስመር ላይ ያለው "ስም" ፓራሜትር ተብሎ የሚጠራ ሲሆን የቀረበው ስም ሻህባዝ ግን ክርክር ይባላል.
ወደ ፊት እንሂድ እና ይህን ፕሮግራም እናካሂድ.
ስለዚህ በእነዚህ መለኪያዎች, በተግባራችን ውስጥ መረጃን መቀበል እንችላለን.
አሁን አንድ አስደሳች ነገር እናድርግ። ወደ ሰላምታ መልእክት ሌላ ስም ማከል ትፈልጋለህ እንበል። ቀላል ነው።
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
አሁን አንድ ተግባር መለኪያ ሲኖረው፣ ለዚያ ግቤት ዋጋ የማለፍ ግዴታ እንዳለብን ልብ ይበሉ። ስሙን ከተግባሩ ካስወገዱ እና ፕሮግራሙን ካስኬዱ, ስህተት ይደርስብናል. እንዲሁም በነጠላ ነጠላ ተግባር ውስጥ በርካታ መለኪያዎችን መጠቀም ትችላለህ፣ በነጠላ ሰረዝ ተለይቷል።
ለምሳሌ, greet_user(first_name, last_name):
. ክርክሮችም በተመሳሳይ መልኩ ይቀረፃሉ።
ቁልፍ ቃል ክርክሮች
እስካሁን፣ ለተግባሮቻችን መለኪያዎችን በምንገልጽበት ጊዜ ሁል ጊዜ እሴቶችን ማቅረብ እንዳለብን ተምረናል ያለበለዚያ ስህተት ይደርስብናል። በመጨረሻው ፕሮግራም, ክርክሮቹ 'Shahbaz'
ና 'Bhatti'
የአቀማመጥ ክርክሮች ይባላሉ, ይህም ማለት በፕሮግራሙ ውስጥ ያላቸውን አቋም ወይም ቅደም ተከተል ጉዳዮችን ያመለክታል.
በፓይዘን ውስጥ፣ ቁልፍ ቃል ክርክር የሚባል ሌላ ዓይነት መከራከሪያ አለን፣ ለዚህም ቦታው ምንም አይደለም:: እንዴት እንደሚሠሩ ላሳይዎት።
የመጨረሻውን ፕሮግራም ተመልከት. እንደሚከተለው ልናስተካክለው እንችላለን፡-
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
አሁን first_name
ና last_name
ቁልፍ ቃል መለኪያዎች ናቸው. ቦታቸውን መቀየር ይችላሉ እና ውጤቱም ተመሳሳይ ይሆናል.
አሁን ያ ማለት ሁልጊዜ የቁልፍ ቃል ክርክሮችን መጠቀም አለብን ማለት አይደለም። ብዙ ጊዜ የአቀማመጥ ነጋሪ እሴቶችን እንጠቀማለን, ነገር ግን በአንዳንድ ሁኔታዎች, እነዚህ ቁልፍ ቃል ክርክሮች የእኛን ኮድ ተነባቢነት ለማሻሻል ይረዱናል.
ስለ ቁልፍ ቃል ክርክሮች ማወቅ ያለብዎት አንድ ተጨማሪ ነገር አለ። ቁልፍ ቃላቶች ሁልጊዜ ከአቋም ነጋሪ እሴቶች በኋላ መምጣት አለባቸው።
የመመለሻ መግለጫ
እስካሁን ድረስ ተግባራትን እንዴት መፍጠር እንደሚቻል እና ግቤቶችን በመጠቀም መረጃን እንዴት እንደሚልክ ተምረናል. አሁን እሴቶችን የሚመልሱ ተግባራትን እንዴት መፍጠር እንደሚቻል እንማር። ይህ በተለይ አንድ ዓይነት ስሌት እየሰሩ ከሆነ እና ውጤቱን ተግባርዎን ለሚጠቀም ለማንኛውም ሰው መመለስ ከፈለጉ ጠቃሚ ነው። ላሳይህ።
የቁጥሩን ካሬ የሚያሰላውን ተግባር እንግለጽ።
def square(number):
return number*number
ይህንን ቁጥር ከተግባሩ ውጭ ለመመለስ የመመለሻ መግለጫውን ተጠቅመንበታል። አሁን፣ ይህንን ተግባር ከጠራነው፣ ልክ እንደ እሴቱ ይመልሳል input()
ተግባር. ተርሚናል ላይ እናተምነው።
የመመለሻ መግለጫውን ሳይጠቀሙ ተመሳሳይ ውጤት ሊገኝ ይችላል ብለው መከራከር ይችላሉ. እስቲ እንፈትሽው።
ሁለት ነገሮችን እናያለን, ቁጥር 9, እና ምንም. እዚህ ምን እየሆነ ነው?
የፓይዘን አስተርጓሚው ይህንን ኮድ ሲፈጽም በመጀመሪያ የካሬውን ተግባር ይጠራዋል እና መቆጣጠሪያው ወደ ተግባሩ ይንቀሳቀሳል. እዚህ የዚህን ቁጥር ካሬ እናሰላለን እና ከዚያም በተርሚናል ላይ እናተምነው.
አሁን፣ በነባሪ፣ ሁሉም ተግባራት ምንም ዋጋ አይመልሱም። ስለዚህ እዚህ የመመለሻ መግለጫ ከሌለን፣ በነባሪ Python ምንም አይመልስም። አንድም የእሴት አለመኖርን የሚወክል ዕቃ አይደለም። በC፣ C++፣ Java እና Javascript ውስጥ ምንም ወይም ባዶ ነው።
መጠቅለል!
የተግባሮችን አስፈላጊነት እንደተረዳችሁ ተስፋ አደርጋለሁ።
በኮድ ስራዎ ወቅት ትላልቅ እና ውስብስብ ፕሮግራሞችን ለመጻፍ ካሰቡ የ Python ትምህርት ጉልህ ገጽታ ናቸው.
መልስ ይስጡ