Kas ir funkcija programmēšanā?

Kas ir funkcija programmēšanā?

Vai bieži atrodat savu kodu kopēšanu un ielīmēšanu, lai to atkārtoti izmantotu dažādās programmas sadaļās?





Ja tā, iespējams, vēlēsities apsvērt funkciju izmantošanu. Funkcijas ir ļoti spēcīga programmēšanas valodu iezīme. Tie var padarīt kodu efektīvāku, vieglāk lasāmu un elegantu.





Kas ir funkcija?

Funkcija ir koda bloks, kas veic uzdevumu. To var izsaukt un atkārtoti izmantot vairākas reizes. Jūs varat nodot informāciju funkcijai, un tā var to nosūtīt atpakaļ. Daudzās programmēšanas valodās ir iebūvētas funkcijas, kurām varat piekļūt savā bibliotēkā, taču varat arī izveidot savas funkcijas.





Izsaucot funkciju, programma apturēs pašreizējo programmu un izpildīs funkciju. Funkcija tiks nolasīta no augšas uz leju. Kad funkcija ir pabeigta, programma turpina darboties vietā, kur tā bija apturēta. Ja funkcija atgriezusi vērtību, šī vērtība tiks izmantota vietā, kur funkcija tika izsaukta.

Kā rakstīt funkciju?

Funkciju rakstīšanai ir daudz dažādu veidu. Precīza sintakse būs atkarīga no valodas, kurā programmējat. Mēs parādīsim piemērus Python, JavaScript un C ++ valodās, lai parādītu dažādas programmēšanas sintakses.



Saistīts: Kāpēc programmēšanas valodas nevar pastāvēt bez funkcijām

Tukšuma funkcijas

Pirmais funkciju veids, ko mēs apskatīsim, ir tukša funkcija. Tas vienkārši nozīmē, ka funkcija neatgriež vērtību. Tukšas funkcijas tiek izmantotas, lai pabeigtu instrukciju kopumu. Šajos piemēros tiek saukta mūsu rakstītā funkcija sveiki . Funkcijas mērķis ir izvadīt 'Hello World'.





PADOMS: piešķiriet funkcijām nosaukumus, kas izskaidro to darbību. Kad programma kļūs sarežģītāka, būs vieglāk pārvaldīt funkcijas un lasīt kodu.

Python





def helloFunction():
print('Hello World')
helloFunction()

Atslēgvārds def tiek izmantots programmā Python, lai definētu un izveidotu funkciju. Tālāk ir funkcijas nosaukums. Funkcijas norādījumi seko nākamajā rindā aiz kolu. Python ir svarīga atstarpe, tāpēc noteikti ievadiet atkāpi visā kodā, kuru vēlaties izmantot. Iepriekš minētajā piemērā funkcija palaiž vienu koda rindu.

Iespējams, jūsu asās acis to pamanīja drukāt () ir arī funkcija, taču to sauc citādi nekā mūsu funkciju. Turieties pie šīs domas tieši tagad, mēs vēlāk izpētīsim funkciju parametrus.

JavaScript

kā redzēt, kam ir piekļuve Google dokumentam
function helloFunction(){
alert('Hello World!');
}
helloFunction();

JavaScript atslēgvārds funkciju tiek izmantots, lai izveidotu funkcijas. Tālāk mums ir funkcijas nosaukums. Jebkurš kods, kas atrodas starp cirtainajām iekavām, tiek palaists, kad tiek izsaukta funkcija.

Baltā atstarpe JavaScript nav svarīga, taču ir ierasts koda ievilkums funkcijā. Atkāpe atvieglo koda lasīšanu, kas ir ļoti svarīgi, jo jūsu programmas kļūst sarežģītākas.

Piezīme: Līdzīgi drukāt () iepriekšējā piemērā, brīdinājums () ir arī funkcija.

C ++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

C ++ funkcijas tiek veidotas atšķirīgi. Funkcijas definēšanai atslēgvārda vietā pirmais vārds apraksta datu tipu, ko funkcija atgriezīs. Šajā gadījumā mūsu funkcija neatgriež nekādus datus, tāpēc dati nav spēkā. Tālāk mums ir funkcijas nosaukums. Līdzīgi kā JavaScript, viss kods starp cirtainajām iekavām tiek izpildīts, kad tiek izsaukta funkcija. Tāpat kā JavaScript, atstarpe neietekmē funkciju, bet ir laba prakse.

Vai C ++ kodā pamanījāt citu funkciju? Jā, galvenais () ir funkcija. Izpildot C ++ programmu, jūs automātiski izsaucat galveno funkciju. Kad galvenā funkcija ir veiksmīgi pabeigta, tā, atverot programmu, atgriež 0, lai signalizētu, ka programmas darbības laikā nav radušās kļūdas.

Funkcijas, kurām nepieciešamas vērtības

Tukšuma funkcijas ir lieliskas, ja atklājat, ka jūs atkal un atkal rakstāt vienu un to pašu koda bitu. Bet tie var ierobežot. Tie ir statiski un nemainās. Viņi vienmēr izpilda tos pašus norādījumus. Viens veids, kā mēs varam palielināt to lietderību, ir nodot funkcijai dažādas vērtības.

Jūs būsiet ievērojuši, ka iekavās sekoja visu mūsu funkciju nosaukumi. Iekavās mēs varam paziņot, ka dati ir nepieciešami mūsu funkcijas izpildei. Tad mēs funkcijai varam izmantot mūsu funkcijai nodotos datus. Apskatīsim iepriekšējos piemērus vēlreiz, taču šoreiz palaidiet garām frāzi, ka vēlamies, lai mūs izsaka.

Python

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

Tagad starp iekavām mūsu funkcija paziņo, ka tās darbināšanai ir nepieciešams mainīgais. Mēs nosaucām mainīgo newFraze un tagad to var izmantot mūsu funkcijās. Izsaucot funkciju, mums jānodod pieprasītā informācija, ievietojot to starp iekavām. Tādas pašas izmaiņas tika veiktas arī JavaScript.

JavaScript

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

C ++

ko darīt ar mājas serveri
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Mūsu C ++ funkcijai bija nepieciešama nedaudz vairāk informācijas. Mēs zinām, ka jūsu funkcija vēlas virkņu datus, bet tas nav pietiekami labs C ++. Veidojot savu funkciju, jums jānorāda, kāda veida dati ir nepieciešami jūsu funkcijai. Ja nesūtāt pareizā veida datus, funkcija radīs kļūdu.

Tas varētu šķist nedaudz kaitinoši, bet stingras valodas bieži var ietaupīt galvassāpes. Ja JavaScript rakstāt funkciju, kurai nepieciešams vesels skaitlis, bet numurs tiek nosūtīts kā virkne, tas var radīt kļūdu, kuru ir ļoti grūti izsekot.

Saistītie: 5 funkcionālās programmēšanas valodas, kas jums jāzina

Funkcijas, kas atgriež vērtību

Pēdējā funkciju iespēja, ko mēs apskatīsim, ir datu atgriešana. Tas ir īpaši vērtīgi, ja vēlaties mainīt datus pirms to lietošanas. Lai gan jūs varētu ierakstīt šo rindu, ja daudzkārt izmantosit vienus un tos pašus aprēķinus, piemēram, pārvērsīsit imperiālo metriskajā, varētu būt lietderīgāk to rakstīt kā funkciju. Mūsu piemērs būs vienkāršāks. Mūsu funkcijai būs nepieciešami divi veseli skaitļi, un tā atdos summu.

Python

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

Šajā piemērā mūsu funkcijai ir nepieciešami divi mainīgie, nevis viens. Mēs to norādām, atdalot mainīgo nosaukumus ar komatu. Atslēgvārds atgriezties liek funkcijai atgriezt šādus datus, šajā gadījumā 2 + 4 vai 6. Mēs izsaucam funkciju iekšpusē drukāt () funkciju.

Kad mūsu programma nonāca šajā rindā, tā būtu apturēta, palaista mūsu funkciju un pēc tam turpinājusies it kā Funkcija (2, 4) patiesībā bija tikai atgrieztā vērtība 6.

JavaScript

JavaScript kods ir ļoti līdzīgs Python kodam. Galvenā atšķirība ir tā, ka funkcija tiek izsaukta brīdinājumā.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C ++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

C ++ kods darbojas līdzīgi, bet, kā parasti, prasa nedaudz vairāk informācijas. Pirmkārt, mums jāsaka, kāda veida datus mūsu funkcija atgriezīs. Jūs to redzēsit spēkā neesošs ir mainīts uz int . Tas nozīmē, ka tā vietā, lai neatgrieztu datus, mūsu funkcija atgriezīs veselu skaitli. Turklāt kods ir līdzīgs kodam, kuru mēs jau esam izpētījuši.

Pārvaldiet savas funkcijas

Jautri par funkcijām ir tas, ka funkcijas var izsaukt citas funkcijas. Viņi pat var sevi saukt! Bet ar lielu spēku nāk liela atbildība. Nekļūstiet traks, veidojot kodu ar funkcijām, kas izsauc citas funkcijas, kas izsauc vēl citas funkcijas.

Kā jau minēts, katru reizi, kad tiek izsaukta funkcija, programma pauzē, kamēr tā darbojas. Tas nozīmē, ka programma tiek glabāta aktīvajā atmiņā. Ja izsaucat vēl vairākas funkcijas, tās nepabeidzot, tiek izmantota aktīvāka atmiņa. Ja neesat piesardzīgs, jūsu programma var izkrist no rokām.

Kopīgot Kopīgot Čivināt E -pasts Kā saglabāt kodu tīru ar objektu iekapsulēšanu

Globālie mainīgie var šķist vienkārši, taču tie bieži ir tik daudzu kļūdu cēlonis. Lūk, kā racionalizēt kodu, izmantojot iekapsulēšanu.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • Programmēšana
  • Funkcionālā programmēšana
Par autoru Dženifera Sītone(Publicēti 21 raksti)

J. Seaton ir zinātnes rakstnieks, kas specializējas sarežģītu tēmu sadalīšanā. Viņai ir doktora grāds Saskačevanas Universitātē; viņas pētījums bija vērsts uz spēlēm balstītas mācīšanās izmantošanu, lai palielinātu studentu iesaistīšanos tiešsaistē. Kad viņa nestrādā, jūs atradīsit viņu kopā ar lasīšanu, videospēļu spēlēšanu vai dārzkopību.

Vairāk no Dženiferas Sītones

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu