Būdams programmētājs, jūs bieži vien atkārtojat, ka veicat kādu darbību vai uzdevumu. Tas var būt nogurdinoši un laikietilpīgi, it īpaši, strādājot ar lielu vai sarežģītu kodu bāzi. To automatizācija ar funkcijām ir efektīvāka pieeja šādu uzdevumu veikšanai. Funkcijas ļauj vienreiz uzrakstīt koda loģiku un izmantot to jebkurā programmas vietā.

Kas ir Python funkcija?

Programmā Python funkcija ir koda bloks, ko izmanto noteikta uzdevuma veikšanai. Funkcija ir jāieraksta tikai vienu reizi, taču savā kodā to var izmantot vairākas reizes. Funkcija var pieņemt argumentus kā ievades un atgriešanas izvades vērtības. Šī vienkāršā programma parāda funkciju, kas aprēķina trīs skaitļu summu:

# Python funkcija, lai aprēķinātu trīs skaitļu summu

defaprēķināt_summu(a, b, c):
atgriezties a+b+c

print (calculate_sum(1,2,3)) # atgriež 6
print (calculate_sum(1000, 300,44)) # atgriež 1344
print (calculate_sum(12, 4,78)) # atgriež 94

Iepriekš minētajā programmā funkcija atgriež trīs argumentu summu. Ja funkcija tiek izsaukta vairākas reizes, tā katram gadījumam atgriež citu izvadi. Noderīga lietojumprogramma šai funkcijai būs kalkulatora lietotne.

instagram viewer

Funkcijas definēšana Python

Python ir daudz iebūvētu funkciju pieejams izstrādātājiem lietošanai. Tomēr ar šīm iebūvētajām funkcijām ne vienmēr pietiek, lai apmierinātu vairuma projektu prasības. Lai izpildītu pielāgotās prasības, jums ir jādefinē pielāgotās funkcijas. Pielāgotu funkciju definēšana ir izplatīta programmēšanas prakse.

Programmā Python varat definēt pielāgotu funkciju, izmantojot def atslēgvārdam, kam seko jūsu funkcijas nosaukums ar iekavām tā priekšā. Šeit ir piemērs:

deffunkcijas_nosaukums()

Piešķirot funkcijas nosaukumu Python, jums jāņem vērā šie noteikumi:

  • Funkciju nosaukumiem jābūt ar mazajiem burtiem.
  • Funkciju nosaukumiem jābūt aprakstošiem.
  • Izmantojiet pasvītrojumus, lai atdalītu vārdus funkcijas nosaukumā.

Pēc funkcijas definēšanas jums ir jāuzraksta loģika, lai veiktu vēlamo uzdevumu. Piemēram, šī funkcija aprēķina trīsstūra laukumu:

# Python funkcija, lai aprēķinātu trīsstūra laukumu

defaprēķināt_trijstūra_laukumu(pamatne, augstums):
laukums = (pamatne * augstums)/2
atgriezties apgabalā

print (calculate_triangle_area(12, 3))

Iepriekš minētā funkcija definē divus parametrus: bāze un augstums, dala savu produktu ar divi un atgriež rezultātu kā izvadi. Varat rakstīt jebkuru loģiku, kuru vēlaties, lai jūsu funkcija veiktu.

Funkciju argumentu izpratne

Iepriekšējos piemēros funkcijas ir izmantojušas argumentus, lai veiktu darbības. Šajos piemēros minētie argumenti ir zināmi kā obligātie vai pozicionālie argumenti. Programmā Python jūsu argumenti var būt viens no šiem:

  • Pozicionālie argumenti
  • Atslēgvārdu argumenti

Pozicionālie argumenti

Pozīcijas argumenti ir jānodod pareizajā definīcijas secībā. Piemēram, ja definējat funkciju ar parametriem a, b, un c, jums ir attiecīgi jānodod šo parametru vērtības, kad tos izsaucat. Apskatīsim iepriekšējo piemēru:

# Python funkcija, lai aprēķinātu trīs skaitļu summu

defaprēķināt_summu(a, b, c):
atgriezties a+b+c

print (calculate_sum(1,2,3)) # atgriež 6
print (calculate_sum(1000, 300,44)) # atgriež 1344
print (calculate_sum(12, 4,78)) # atgriež 94

Iepriekš minētajā programmā aprēķināt_summu() funkcija izmanto trīs argumentus, kad vien mēs to izsaucam. Katrs arguments ir atbilstošs parametrs. Pirmajā funkcijas izsaukumā cipari 1, 2, un 3 pārstāvēt a, b, un c attiecīgi.

Parametrs tiek deklarēts funkcijas definīcijā, savukārt arguments ir vērtība, kas tiek nodota, izsaucot funkciju. Šī vērtība ir tai atbilstošā parametra attēlojums.

Pozīcijas argumenti ir obligāti. Ja jūs tos nepievienosit, jūs saņemsit a Tipa kļūda. To parāda šāds piemērs:

defaprēķināt_summu(a, b, c):
atgriezties a+b+c

print (calculate_sum(1,2)) # rada TypeError

Palaižot iepriekš minēto programmu savā datorā, jūs saņemsit kļūdu, kas ir līdzīga tai, kas parādīta zemāk esošajā attēlā:

Atslēgvārdu argumenti

Atslēgvārdu argumenti nav obligāti jānodod ikreiz, kad izsaucat funkciju. Tie ir neobligāti argumenti, un tiem nav jāievēro noteikta secība. Python ļauj mums izmantot *args un **kwargs lai norādītu atslēgvārdu argumentus.

Neatkarīgi no lietošanas *args un **kwargs, ir iespējams arī norādīt argumentu noklusējuma vērtības. To darot, kļūda netiks parādīta, ja aizmirsīsit pievienot vērtību, izsaucot funkciju. Šis piemērs sniedz ilustrāciju:

defaprēķināt_summu(a, b, c=3):
atgriezties a+b+c

print (calculate_sum(1,2)) # atgriež 6

Iepriekš minētajā programmā, kad aprēķināt_summu() sauc, nav argumentu c; tas neietekmēs programmu, jo c jau ir noklusējuma vērtība. Varat norādīt noklusējuma vērtības tik daudziem argumentiem, cik vēlaties, taču pārliecinieties, ka darāt to saprātīgi.

Izmantojiet funkcijas, lai sakārtotu kodu

Funkcijas ir noderīgas, lai sakārtotu kodu, padarot to lasāmāku un efektīvāku. Izmantojot funkcijas, varat sadalīt kodu mazākos, atkārtoti lietojamos gabalos, kurus ir vieglāk saprast un uzturēt. Turklāt, ja jums ir jāveic izmaiņas savā kodā, jums ir jāmaina tikai nepieciešamā funkcija, nevis visa koda bāze.