Jak wywołać funkcję w Python (Przykład)
⚡ Inteligentne podsumowanie
Funkcje w Python To wielokrotnego użytku bloki kodu, które uruchamiają się po wywołaniu, zdefiniowane za pomocą polecenia def. Akceptują argumenty, zwracają wartości i wykorzystują spójne wcięcia, aby grupować polecenia należące do każdej funkcji.

W czym jest funkcja Python?
A Funkcja w Python To fragment kodu, który uruchamia się po odwołaniu. Służy do wykorzystania kodu w więcej niż jednym miejscu programu. Nazywa się go również metodą lub procedurą. Python udostępnia wiele wbudowanych funkcji, takich jak print(), input(), compile() i exec(), ale daje również swobodę tworzenia własnych funkcji.
Jak zdefiniować i wywołać funkcję w Python
Funkcja w Python jest definiowany za pomocą polecenia „def”, po którym następuje nazwa funkcji i nawiasy ( () ).
Przykład:
Zdefiniujmy funkcję za pomocą polecenia „def func1():” i wywołajmy ją. Wynik funkcji będzie brzmiał: „Uczę się Python funkcjonować".
Wywołanie funkcji func1() wywołuje naszą def func1(): i wyświetla polecenie „Uczę się Python Funkcja Brak.”
Istnieje zestaw zasad w Python programowanie zdefiniować funkcję.
- Wszelkie argumenty i parametry wejściowe należy umieszczać w nawiasach.
- Pierwsze polecenie funkcji może być poleceniem opcjonalnym — ciągiem dokumentacyjnym funkcji.
- Kod w każdej funkcji zaczyna się od dwukropka (:) i powinien być wcięty (spacją).
- Instrukcja return (wyrażenie) kończy działanie funkcji, opcjonalnie przekazując wartość do wywołującego. Instrukcja return bez argumentów działa tak samo jak return None.
Znaczenie wcięcia (spacji) w Python
Zanim się zapoznamy Python funkcje, ważne jest, abyśmy zrozumieli zasadę wcięcia, którą należy zadeklarować Python funkcje, a zasady te mają zastosowanie do innych elementów Python jak również deklarowanie warunków, pętli lub zmiennych.
Python stosuje określony styl wcięć, aby zdefiniować kod. Ponieważ Python Funkcje nie mają wyraźnego początku ani końca, jak nawiasy klamrowe, wskazujące początek i koniec funkcji. Muszą polegać na tym wcięciu. Oto prosty przykład z poleceniem „print”. Gdy wpiszemy funkcję „print” tuż pod wierszem def func1():, pojawi się komunikat „błąd wcięcia: oczekiwano wciętego bloku”.
Teraz, gdy dodasz wcięcie (spację) przed funkcją „print”, wydruk powinien zostać wykonany zgodnie z oczekiwaniami.
Przynajmniej jedno wcięcie wystarczy, aby kod działał poprawnie. Jednak zgodnie z najlepszą praktyką zaleca się pozostawienie około 3–4 spacji wcięcia na wywołanie funkcji.
Konieczne jest również, aby deklarując wcięcie, zachować to samo wcięcie w pozostałej części kodu. Na przykład, na poniższym zrzucie ekranu, gdy wywołamy inną instrukcję „still in func1”, która nie zostanie zadeklarowana tuż pod pierwszą instrukcją print, pojawi się błąd wcięcia: „unindent does not match any other indentation level”.
Teraz, gdy zastosujemy to samo wcięcie dla obu poleceń i wyrównamy je do jednego wiersza, otrzymamy oczekiwany wynik.
Jak funkcja zwraca wartość?
Polecenie powrotu w Python Określa, jaką wartość zwrócić wywołującemu funkcję. Zrozumiemy to na poniższym przykładzie.
Krok 1) Funkcja nic nie zwraca
Tutaj widzimy, kiedy funkcja nie „zwraca”. Na przykład, chcemy kwadratu 4, a po wykonaniu kodu powinna zwrócić wynik „16”. Dzieje się tak, gdy po prostu użyjemy kodu „print x*x”, ale po wywołaniu funkcji „print square” zwraca ona wynik „None”. Dzieje się tak, ponieważ po wywołaniu funkcji rekurencja nie występuje i funkcja opuszcza koniec funkcji. Python zwraca „Brak” w przypadku wypadnięcia z końca funkcji.
Krok 2) Zastąp polecenie drukowania poleceniem przypisania
Aby to wyjaśnić, zastąpmy polecenie drukowania poleceniem przypisania. Sprawdźmy wynik.
Po uruchomieniu polecenia „print square (4)” zwraca ono wartość obiektu. Ponieważ nie mamy tu żadnej konkretnej funkcji do uruchomienia, zwraca ono „None”.
Krok 3) Użyj funkcji „return” i wykonaj kod
Teraz pokażemy, jak pobrać wynik za pomocą polecenia „return”. Po użyciu funkcji „return” i wykonaniu kodu, zwróci on wynik „16”.
Krok 4) Uruchom polecenie „print Square”
Funkcje w Python same w sobie są przedmiotem, a przedmiot ma jakąś wartość. Zobaczymy tutaj, jak to zrobić Python przetwarza obiekt. Po uruchomieniu polecenia „print square” zwraca ono wartość obiektu. Ponieważ nie przekazaliśmy żadnego argumentu, nie mamy tu żadnej konkretnej funkcji do uruchomienia, więc zwraca wartość domyślną (0x021B2D30), która określa lokalizację obiektu. W praktyce Python programu, prawdopodobnie nigdy nie będziesz musiał tego robić.
Argumenty w funkcjach
Argument to wartość przekazywana do funkcji w momencie jej wywołania.
Innymi słowy, po stronie wywołania jest to argument, a po stronie funkcji jest to parametr.
Zobaczmy jak Python argumenty działają.
Krok 1) Argumenty deklaruje się w definicji funkcji. Podczas wywołania funkcji można przekazać wartości tych argumentów, jak pokazano poniżej.
Krok 2) Aby zadeklarować wartość domyślną argumentu, należy przypisać mu wartość w definicji funkcji.
Przykład: x nie ma wartości domyślnej. Wartość domyślna y = 0. Gdy podajemy tylko jeden argument podczas wywołania funkcji mnożenia, Python przypisuje podaną wartość do x, podczas gdy keeping wartość y=0. Stąd mnożenie x*y=0.
Krok 3) Tym razem zmienimy wartość na y=2 zamiast domyślnej wartości y=0, a wynik zwrócimy w postaci (4×2)=8.
Krok 4) Można również zmienić kolejność przekazywania argumentów PythonTutaj odwróciliśmy kolejność wartości x i y na x=4 i y=2.
Krok 5) Wiele argumentów można również przekazać jako tablicę. W tym przykładzie wywołujemy wiele argumentów (1,2,3,4,5) poprzez wywołanie funkcji (*args).
Przykład: Zadeklarowaliśmy wiele argumentów jako liczby (1,2,3,4,5); gdy wywołamy funkcję (*args), wydrukuje ona dane wyjściowe w postaci (1,2,3,4,5).
Porady:
- In Python 2.7, przeciążanie funkcji nie jest obsługiwane. Przeciążanie funkcji to możliwość tworzenia wielu metod o tej samej nazwie z różną implementacją. Przeciążanie funkcji jest w pełni obsługiwane w Python 3.
- Istnieje spore zamieszanie pomiędzy metodami i funkcjami. Metody w Python są powiązane z instancjami obiektów, podczas gdy funkcje nie. Kiedy Python wywołuje metodę, wiąże pierwszy parametr tego wywołania z odpowiednim odwołaniem do obiektu. Krótko mówiąc, samodzielna funkcja w Python jest „funkcją”, natomiast funkcja będąca atrybutem klasy lub instancji jest „metodą”.
Oto kompletny Python 3 kodu
#define a function
def func1():
print ("I am learning Python function")
print ("still in func1")
func1()
def square(x):
return x*x
print(square(4))
def multiply(x,y=0):
print("value of x=",x)
print("value of y=",y)
return x*y
print(multiply(y=2,x=4))
Oto kompletny Python 2 kodu
#define a function
def func1():
print " I am learning Python function"
print " still in func1"
func1()
def square(x):
return x*x
print square(4)
def multiply(x,y=0):
print"value of x=",x
print"value of y=",y
return x*y
print multiply(y=2,x=4)














