Czym jest funkcja w programowaniu?

Czym jest funkcja w programowaniu?

Czy często kopiujesz i wklejasz swój kod w celu ponownego wykorzystania w różnych sekcjach swojego programu?





Jeśli tak, możesz rozważyć użycie funkcji. Funkcje są bardzo potężną cechą języków programowania. Mogą sprawić, że kod będzie bardziej wydajny, łatwiejszy do odczytania i elegancki.





Co to jest funkcja?

Funkcja to blok kodu, który wykonuje zadanie. Można go wywoływać i używać wielokrotnie. Możesz przekazać informacje do funkcji, a ona może je odesłać. Wiele języków programowania ma wbudowane funkcje, do których można uzyskać dostęp w ich bibliotece, ale można również tworzyć własne funkcje.





Kiedy wywołasz funkcję, program zatrzyma bieżący program i wykona funkcję. Funkcja zostanie odczytana od góry do dołu. Po zakończeniu funkcji program kontynuuje działanie w miejscu, w którym został zatrzymany. Jeśli funkcja zwróciła wartość, ta wartość zostanie użyta w miejscu wywołania funkcji.

Jak napisać funkcję?

Istnieje wiele różnych sposobów pisania funkcji. Dokładna składnia będzie zależeć od języka, w którym programujesz. Pokażemy przykłady w Pythonie, JavaScript i C++, aby zademonstrować zakres składni programowania.



Powiązane: Dlaczego języki programowania nie mogą istnieć bez funkcji

Funkcje pustki

Pierwszym rodzajem funkcji, któremu się przyjrzymy, jest funkcja void. Oznacza to po prostu, że funkcja nie zwraca wartości. Funkcje Void służą do uzupełniania zestawu instrukcji. W tych przykładach funkcja, którą napisaliśmy, nazywa się cześćFunkcja . Celem funkcji jest wypisanie „Hello World”.





WSKAZÓWKA: nadaj funkcjom nazwy wyjaśniające ich działanie. Gdy Twój program stanie się bardziej złożony, łatwiej będzie zarządzać funkcjami i czytać kod.

Pyton





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

Słowo kluczowe definitywnie jest używany w Pythonie do definiowania i tworzenia funkcji. Dalej jest nazwa funkcji. Instrukcje w funkcji znajdują się w następnym wierszu po dwukropku. Białe znaki mają znaczenie w Pythonie, więc pamiętaj o wcięciu całego kodu, który chcesz uruchomić swoją funkcją. W powyższym przykładzie funkcja uruchamia jeden wiersz kodu.

Twoje bystre oczy mogły to zauważyć wydrukować() jest również funkcją, ale nazywa się ją inaczej niż nasza funkcja. Trzymaj się tej myśli teraz, później zbadamy funkcje i parametry.

JavaScript

jak pobrać książkę z książek google
function helloFunction(){
alert('Hello World!');
}
helloFunction();

W JavaScript słowo kluczowe funkcjonować służy do tworzenia funkcji. Następnie mamy nazwę funkcji. Każdy kod, który znajduje się w nawiasach klamrowych, jest uruchamiany po wywołaniu funkcji.

Białe znaki nie są ważne w JavaScript, ale zwyczajem jest wcięcie kodu w funkcji. Wcięcia ułatwiają odczytywanie kodu, co jest bardzo ważne, gdy programy stają się bardziej złożone.

Uwaga: bardzo jak wydrukować() we wcześniejszym przykładzie, alarm() jest również funkcją.

C++

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

Funkcje są tworzone inaczej w C++. Zamiast słowa kluczowego definiującego funkcję, pierwsze słowo opisuje typ danych, które funkcja zwróci. W takim przypadku nasza funkcja nie zwraca żadnych danych, więc dane są nieważne. Następnie mamy nazwę funkcji. Podobnie jak w JavaScript, cały kod pomiędzy nawiasami klamrowymi jest uruchamiany, gdy funkcja jest wywoływana. Podobnie jak w JavaScript, białe znaki nie wpływają na funkcję, ale są dobrą praktyką.

Czy zauważyłeś inną funkcję w kodzie C++? Tak, Główny() jest funkcją. Kiedy wykonujesz program w C++, automatycznie wywołujesz funkcję main. Gdy funkcja main zostanie pomyślnie zakończona, zwraca 0, gdy wychodzi z programu, aby zasygnalizować, że nie było błędów w działaniu programu.

Funkcje wymagające wartości

Funkcje Void są świetne, jeśli zauważysz, że piszesz w kółko ten sam fragment kodu. Ale mogą ograniczać. Są statyczne i nie zmieniają się. Zawsze wykonują te same instrukcje. Jednym ze sposobów na zwiększenie ich użyteczności jest przekazywanie funkcji różnych wartości.

Zauważyłeś, że nawiasy następują po nazwach wszystkich naszych funkcji. W nawiasach możemy zadeklarować, że dane są potrzebne do uruchomienia naszej funkcji. Następnie możemy wykorzystać dane przekazane do naszej funkcji w funkcji. Przyjrzyjmy się jeszcze raz poprzednim przykładom, ale tym razem przekażmy frazę, którą chcemy wyprowadzić.

Pyton

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

Teraz, pomiędzy nawiasami, nasza funkcja deklaruje, że potrzebuje zmiennej do uruchomienia. Nazwaliśmy zmienną nowa fraza i może teraz używać go w naszej funkcji. Kiedy wywołujemy funkcję, musimy przekazać żądane informacje, umieszczając je między nawiasami. Te same zmiany zostały wprowadzone w JavaScript.

JavaScript

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

C++

dlaczego nie mogę prowadzić wideorozmowy przez skype?
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Nasza funkcja w C++ wymagała nieco więcej informacji. Wiemy, że twoja funkcja potrzebuje danych łańcuchowych, ale to nie wystarczy dla C++. Podczas tworzenia funkcji musisz określić, jakiego typu danych wymaga Twoja funkcja. Jeśli nie wyślesz prawidłowego typu danych, funkcja wygeneruje błąd.

Może się to wydawać trochę irytujące, ale surowe języki często mogą oszczędzić Ci bólu głowy. Jeśli piszesz funkcję w JavaScript, która wymaga liczby całkowitej, ale liczba jest wysyłana jako łańcuch, może to spowodować bardzo trudny do wyśledzenia błąd.

Powiązane: 5 funkcjonalnych języków programowania, które powinieneś znać

Funkcje, które zwracają wartość

Ostatnią zdolnością funkcji, którą omówimy, jest zwracanie danych. Jest to szczególnie cenne, gdy chcesz zmienić dane przed ich użyciem. Chociaż możesz napisać to w tekście, jeśli będziesz wielokrotnie używać tych samych obliczeń, takich jak zamiana jednostek imperialnych na metryczne, bardziej sensowne może być zapisanie ich jako funkcji. Nasz przykład będzie prostszy. Nasza funkcja będzie wymagała dwóch liczb całkowitych i zwróci sumę.

Pyton

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

W tym przykładzie nasza funkcja wymaga dwóch zmiennych zamiast jednej. Wskazujemy to oddzielając nasze nazwy zmiennych przecinkiem. Słowo kluczowe powrót mówi funkcji, aby zwróciła następujące dane, w tym przypadku 2 + 4 lub 6. Wywołujemy funkcję wewnątrz wydrukować() funkcjonować.

Gdy nasz program dotarłby do tej linii, zatrzymałby się, uruchomił naszą funkcję, a następnie kontynuowałby tak, jakby funkcja dodawania(2, 4) była właściwie zwróconą wartością 6.

JavaScript

Kod JavaScript jest bardzo podobny do kodu Pythona. Podstawowa różnica polega na tym, że funkcja jest wywoływana w alercie.

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;
}

Podobnie działa kod C++, ale jak zwykle wymaga nieco więcej informacji. Najpierw musimy powiedzieć, jaki typ danych zwróci nasza funkcja. Zobaczysz to próżnia został zmieniony na int . Oznacza to, że zamiast zwracać brak danych, nasza funkcja zwróci liczbę całkowitą. Poza tym kod jest podobny do kodu, który już zbadaliśmy.

Zarządzaj swoimi funkcjami

Fajną rzeczą w funkcjach jest to, że funkcje mogą wywoływać inne funkcje. Mogą nawet nazywać siebie! Ale z wielką mocą wiąże się wielka odpowiedzialność. Nie zwariuj tworząc kod z funkcjami, które wywołują inne funkcje, które wywołują jeszcze więcej funkcji.

Jak wspomniano, za każdym razem, gdy wywoływana jest funkcja, program zatrzymuje się podczas jej uruchamiania. Oznacza to, że program jest przechowywany w aktywnej pamięci. Jeśli wywołasz kilka dodatkowych funkcji bez ich wypełniania, zużywasz więcej aktywnej pamięci. Jeśli nie będziesz ostrożny, Twój program może wymknąć się spod kontroli.

Udział Udział Ćwierkać E-mail Jak zachować czystość kodu dzięki enkapsulacji obiektów?

Zmienne globalne mogą wydawać się proste, ale często są przyczyną wielu błędów. Oto jak usprawnić swój kod za pomocą enkapsulacji.

Czytaj dalej
Powiązane tematy
  • Programowanie
  • Programowanie
  • Programowanie funkcjonalne
O autorze Jennifer Seaton(21 opublikowanych artykułów)

J. Seaton jest pisarzem naukowym, który specjalizuje się w rozwiązywaniu złożonych tematów. Posiada tytuł doktora na Uniwersytecie Saskatchewan; jej badania koncentrowały się na wykorzystaniu nauki opartej na grach w celu zwiększenia zaangażowania uczniów w Internecie. Kiedy nie pracuje, znajdziesz ją z jej czytaniem, graniem w gry wideo lub ogrodnictwem.

Więcej od Jennifer Seaton

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować