Python ir dažādas iebūvētas funkcijas, tostarp print (), type () un citas. Bet mēs varam arī definēt vai uzrakstīt savas funkcijas. Šīs funkcijas mēs saucam par “lietotāja definētām” funkcijām. Šajā rakstā jūs uzzināsiet, kā definēt funkciju, izmantojot vairākus piemērus. Spyder3 redaktors tiek izmantots šajā rakstā parādīto Python skriptu izveidošanai un rakstīšanai.
Kā definēt funkciju
Programmā Python funkcija sākas ar atslēgvārdu def.
Atslēgvārds def seko funkcijas nosaukums un iekavu pāris [()]. Funkcijas nosaukumam jābūt unikālam, tas nozīmē, ka visā skriptā nedrīkst būt nevienas citas funkcijas ar tādu pašu nosaukumu.
Funkcijai var būt vairāki parametri vai argumenti. Parametrs vai arguments ir funkcijas ievades vērtība, un tā jānosaka iekavās.
Pēc funkcijas nosaukuma un parametru saraksta uzrakstīšanas ievietojiet kolu [:] un sāciet rakstīt koda fragmentu vai paziņojumus.
Visbeidzot, funkcijā ir atgriešanās paziņojums, kas atgriež funkcijas izvadi.
Funkcijas definēšanas pamatsintakse ir šāda:
def funkcijas_nosaukums (parametri):paziņojumi
return [vērtība vai izteiksme]
Funkciju piemērs
Apskatīsim funkcijas Python piemēru. Šī funkcija kā ievades parametru ņem gadu un pārbauda, vai dotais gads ir lēciena gads. Funkciju sauc ar funkcijas nosaukumu.
# definējot funkciju, lai pārbaudītu, vai gads ir lēciena gads vai nēdef leap_year (gads):
# ja gads% 4 ir vienāds ar nulli, tad tas ir garais gads, citādi nē.
ja (gads% 4 == 0):
drukāt (gads, "ir lielais gads")
cits:
drukāt (gads, "nav garais gads")
# zvana funkcijai
leap_year (2020)
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē.
Argumentu nodošana
Informāciju funkcijai varat pārsūtīt kā argumentu. Funkcijas nosaukumā aiz iekavām ir norādīts arguments. Iekavās varat pievienot neierobežotus argumentus, taču katrs arguments ir jāatdala ar komatu. Tos sauc par pozicionālajiem argumentiem. Zvanot funkcijai, ir jānodod visi argumenti. Pretējā gadījumā tas rada kļūdu.
Apskatīsim vairāku argumentu nodošanas piemēru funkcijā.
# definē funkciju, kā izdrukāt informāciju par studentiemdef student_info (vārds, uzvārds, tēva vārds, rollNo, e-pasts):
# studenta vārda izdrukāšana
drukāt ("Studenta vārds ir:", vārds_vārds)
# studenta uzvārda drukāšana
drukāt ("Studenta uzvārds ir:", uzvārds)
# studenta tēva vārda izdrukāšana
drukāt ("Studenta tēva vārds ir:", tēva_vārds)
# studenta ruļļa numura izdrukāšana
drukāt ("Studenta saraksta numurs ir:", rullisNē)
# studenta e-pasta izdrukāšana
drukāt ("Studenta e-pasts ir:", e-pasts)
# zvana funkcijai
studentu_info ("Kamran", "Awaisi", "Abdul Sattar", 12, "[aizsargāts ar e-pastu]")
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē.
Termini “parametrs” un “arguments” ir identiski. Parametrs ir vērtība, kas ir ierakstīta iekavās, un mēs izmantojam parametru funkcijas iekšpusē. Piemēram, vārds_vārds, uzvārds, tēva_nosaukums, rollNo un e-pasts ir parametri iepriekš sniegtajā piemērā.
No otras puses, arguments ir vērtība, kas tiek nosūtīta funkcijai.
Argumenta noklusējuma vērtības noteikšana
Varat arī definēt argumenta noklusējuma vērtību. Piemēram, mēs definēsim funkciju, kas ņem divus skaitļus kā argumentu un aprēķina summu. Pēc noklusējuma otrā skaitļa (parametra) vērtība ir 10. Kā argumentu mēs nodosim tikai pirmā skaitļa vērtību, un funkcija aprēķinās summu.
# funkcijas noteikšana divu skaitļu summas aprēķināšanai# otrā mainīgā vērtība pēc noklusējuma ir iestatīta uz 10
def aprēķināt_summu (num1, num2 = 10):
drukāt ("Summa ir:", num1 + num2)
# izsauciet funkciju
#pārejot pirmā mainīgā vērtību kā argumentu
aprēķināt_summu (15)
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē.
Ja kā argumentu ievadīsim otrā mainīgā vērtību, tad funkcija neņems noklusējuma vērtību.
# funkcijas noteikšana divu skaitļu summas aprēķināšanai# otrā mainīgā vērtība pēc noklusējuma ir iestatīta uz 10
def aprēķināt_summu (num1, num2 = 10):
drukāt ("Summa ir:", num1 + num2)
# izsauciet funkciju
#pārejot pirmā mainīgā vērtību kā argumentu
aprēķināt_summu (15,25)
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē.
Atslēgvārdu argumenti
Argumentus var nodot, izmantojot parametra nosaukumu. Šajā gadījumā nav jāatceras parametru secība. Jums tikai jāuzraksta parametra nosaukums un pēc tam jādefinē tā vērtība un jānodod kā arguments. Izmantojot atslēgvārdu argumentus, parametra nosaukumam un atslēgvārdam jābūt vienādam. Apskatīsim piemēru:
# funkcijas noteikšana divu skaitļu summas aprēķināšanaidef aprēķināt_summu (num1, num2):
drukāt ("Summa ir:", num1 + num2)
# izsauciet funkciju
# mainīgo vērtības pārsniegšana, izmantojot atslēgvārda argumentu
aprēķināt_summu (num1 = 15, num2 = 25)
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē.
Izmantojot atslēgvārdu argumentus, pārliecinieties, ka parametra nosaukums un atslēgvārds ir vienādi. Atslēgvārdu definēšanas secība varētu būt atšķirīga. Šajā gadījumā kompilators neuzrāda nekādu kļūdu. Apskatīsim šīs funkcijas piemēru ar mainītu secību.
# funkcijas noteikšana divu skaitļu summas aprēķināšanaidef aprēķināt_summu (num1, num2):
drukāt ("Summa ir:", num1 + num2)
# izsauciet funkciju
#passing mainīgo vērtību, izmantojot atslēgvārda argumentu.
Num1 un num2 secība tiek mainīta
aprēķināt_summu (num2 = 15, num1 = 25)
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē.
Tagad mainīsim atslēgvārdu nosaukumus un redzēsim, kas notiek.
Rezultāts
Izejā redzams, ka tā tagad parāda kļūdu “Negaidīts atslēgvārda arguments.”
Mainīga garuma argumenti
Dažos gadījumos, ja neesat pārliecināts par parametru skaitu, varat izmantot mainīga garuma argumenti. Šie argumenti atšķiras no atslēgvārda noklusējuma argumentiem. Iekavās tos nenosaka nosaukums. Apskatīsim šī piemēru:
# informācijas definēšanas funkcijas noteikšanadef print_linuxhint (* myargs):
priekš manis:
drukāt (i)
# izsauciet funkciju
# vairāku mainīgo vērtības pārsniegšana
print_linuxhint ("Sveiki", "un", "sveicināti", "uz", "LinuxHint")
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē.
Atgriešanās paziņojums
Atgriešanās paziņojums tiek izmantots beigās, lai izietu no funkcijas. Šis paziņojums izvadi atgriežas tur, kur tika izsaukta funkcija.
Apskatīsim atgriešanās paziņojuma piemēru:
# funkcijas noteikšana divu skaitļu summas aprēķināšanaidef aprēķināt_summu (num1, num2):
# atgriešanās paziņojuma pievienošana
# atgriešanās paziņojums atgriež summas vērtību zvanītājam.
atgriezt num1 + num2
# izsauciet funkciju
izdrukāt (aprēķināt_summu (15,25))
Rezultāts
Izeja tiek parādīta Python konsoles labajā pusē. Rezultāts parāda, ka atgriešanās priekšraksts bez kļūdām atgriež summas vērtību.
Secinājums
Šis raksts palīdzēja iesācējiem saprast Python funkcijas, izmantojot dažus vienkāršus piemērus. Funkciju izmantošana var padarīt jūsu Python kodu atkārtoti izmantojamu un strukturētāku. Tā vietā, lai atkal un atkal rakstītu vienu un to pašu kodu līdzīga veida uzdevumu veikšanai, varat izveidot funkciju un to vieglāk izsaukt.