Co to jest funkcja w Pythonie?
Funkcji w Pythonie jest kawałek kodu, który działa, gdy jest ona odwołuje. Służy do wykorzystania kodu w więcej niż jednym miejscu w programie. Nazywa się to również metodą lub procedurą. Python zapewnia wiele wbudowanych funkcji, takich jak print (), input (), compile (), exec () itp., Ale daje również swobodę tworzenia własnych funkcji.
W tym samouczku nauczymy się
- Jak zdefiniować i wywołać funkcję w Pythonie
- Znaczenie wcięć (spacji) w Pythonie
- Jak wartość zwracana funkcji?
- Argumenty w funkcjach
Jak zdefiniować i wywołać funkcję w Pythonie
Funkcja w Pythonie jest definiowana przez instrukcję „def” , po której następuje nazwa funkcji i nawiasy (())
Przykład:
Zdefiniujmy funkcję za pomocą polecenia "def func1 (): i wywołajmy funkcję. Dane wyjściowe funkcji to „Uczę się funkcji języka Python”.
Funkcja print func1 () wywołuje naszą def func1 (): i wypisuje polecenie „ Uczę się funkcji Pythona Brak ”.
W Pythonie istnieje zestaw reguł definiujących funkcję.
- Wszelkie argumenty lub parametry wejściowe powinny być umieszczone w tych nawiasach
- Pierwsza instrukcja funkcji może być opcjonalnym ciągiem dokumentacji lub ciągiem dokumentacji funkcji
- Kod w każdej funkcji zaczyna się od dwukropka (:) i powinien być wcięty (spacja)
- Instrukcja return (expression) opuszcza funkcję, opcjonalnie przekazując wartość do obiektu wywołującego. Instrukcja return bez argumentów jest tym samym, co instrukcja return None.
Znaczenie wcięć (spacji) w Pythonie
Zanim zapoznamy się z funkcjami Pythona, ważne jest, aby zrozumieć regułę wcięcia w celu deklarowania funkcji Pythona i te reguły mają zastosowanie do innych elementów Pythona, a także do deklarowania warunków, pętli czy zmiennych.
Python stosuje określony styl wcięć do definiowania kodu, ponieważ funkcje Pythona nie mają żadnego wyraźnego początku ani końca, jak nawiasy klamrowe wskazujące początek i koniec funkcji, muszą polegać na tym wcięciu . Tutaj bierzemy prosty przykład z poleceniem „print”. Kiedy napiszemy funkcję "print" tuż pod funkcją def func 1 (): pokaże ona " błąd wcięcia: oczekiwano wciętego bloku ".
Teraz, kiedy dodasz wcięcie (spację) przed funkcją „print”, powinno ono zostać wydrukowane zgodnie z oczekiwaniami.
Przynajmniej jedno wcięcie wystarczy, aby kod działał pomyślnie. Jednak najlepszą praktyką jest pozostawienie około 3-4 wcięć na wywołanie funkcji .
Konieczne jest również, aby deklarując wcięcie, musisz zachować to samo wcięcie dla reszty kodu . Na przykład, na poniższym zrzucie ekranu, gdy wywołujemy inną instrukcję „nadal w func1” i gdy nie zostanie ona zadeklarowana tuż pod pierwszą instrukcją print, pokaże błąd wcięcia „unindent nie pasuje do żadnego innego poziomu wcięcia”.
Teraz, gdy zastosujemy to samo wcięcie dla obu instrukcji i wyrównamy je w tym samym wierszu, daje to oczekiwany wynik.
Jak wartość zwracana funkcji?
Polecenie Return w Pythonie określa, jaką wartość zwrócić wywołującemu funkcję.
Zrozummy to na poniższym przykładzie
Krok 1) Tutaj - widzimy, kiedy funkcja nie jest „zwracana”. Na przykład, chcemy kwadratu 4 i powinien dać odpowiedź „16”, gdy kod jest wykonywany. Który daje, gdy po prostu używamy kodu „print x * x”, ale gdy wywołujesz funkcję „print square”, jako wyjście daje „None”. Dzieje się tak, ponieważ gdy wywołujesz funkcję, rekursja nie zachodzi i nie spada z końca funkcji. Python zwraca „Brak” w przypadku niepowodzenia zakończenia funkcji.
Krok 2) Aby to było jaśniejsze, zastępujemy polecenie drukowania poleceniem przypisania. Sprawdźmy wyjście.
Po uruchomieniu polecenia „drukuj kwadrat (4)” w rzeczywistości zwraca ono wartość obiektu, ponieważ nie mamy tutaj żadnej konkretnej funkcji do wykonania, zwraca „Brak”.
Krok 3) Teraz zobaczymy, jak pobrać dane wyjściowe za pomocą polecenia „return”. Kiedy użyjesz funkcji „return” i wykonasz kod, da na wyjściu „16”.
Krok 4) Funkcje w Pythonie są same w sobie obiektem, a obiekt ma pewną wartość. Tutaj zobaczymy, jak Python traktuje obiekt. Po uruchomieniu polecenia „drukuj kwadrat” zwraca wartość obiektu. Ponieważ nie przekazaliśmy żadnego argumentu, nie mamy tutaj żadnej konkretnej funkcji do uruchomienia, zwraca ona wartość domyślną (0x021B2D30), która jest lokalizacją obiektu. W praktycznym programie w Pythonie prawdopodobnie nigdy nie będziesz musiał tego robić.
Argumenty w funkcjach
Argument to wartość, która jest przekazywana do funkcji, gdy jest wywoływana.
Innymi słowy, po stronie wywołującej jest argumentem, a po stronie funkcji jest parametrem.
Zobaczmy, jak działa Python Args -
Krok 1) Argumenty są zadeklarowane w definicji funkcji. Podczas wywoływania funkcji możesz przekazać wartości dla tych argumentów, jak pokazano poniżej
Krok 2) Aby zadeklarować domyślną wartość argumentu, przypisz mu wartość w definicji funkcji.
Przykład: x nie ma wartości domyślnych. Domyślne wartości y = 0. Kiedy podamy tylko jeden argument podczas wywoływania funkcji mnożenia, Python przypisuje podaną wartość do x, zachowując 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 i zwróci to wynik jako (4x2) = 8.
Krok 4) Możesz także zmienić kolejność, w jakiej argumenty mogą być przekazywane w Pythonie. Tutaj odwróciliśmy kolejność wartości xiy na x = 4 iy = 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), wywołując funkcję (* args).
Przykład: zadeklarowaliśmy wiele argumentów jako liczbę (1, 2, 3, 4, 5), kiedy wywołujemy funkcję (* args); wypisuje wynik jako (1,2,3,4,5)
Porady :
- W Pythonie 2.7. przeciążanie funkcji nie jest obsługiwane w Pythonie. Przeciążanie funkcji to możliwość tworzenia wielu metod o tej samej nazwie z różnymi implementacjami. Funkcja przeciążania jest w pełni obsługiwana w Pythonie 3
- Istnieje dość pomieszanie metod i funkcji. Metody w Pythonie są powiązane z instancjami obiektów, podczas gdy funkcje nie są. Gdy 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 Pythonie jest „funkcją”, podczas gdy funkcja będąca atrybutem klasy lub instancji jest „metodą”.
Oto pełny kod Python 3
#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))
Oto pełny kod Pythona 2
#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)
Podsumowanie:
Funkcja w Pythonie to fragment kodu wielokrotnego użytku, który służy do wykonywania pojedynczej, powiązanej akcji. W tym artykule zobaczymy
- Funkcja zdefiniowana przez def rachunku
- Blok kodu w każdej funkcji zaczyna się od dwukropka (:) i powinien być wcięty (spacja)
- Wszelkie argumenty lub parametry wejściowe należy umieszczać w tych nawiasach itp.
- Po zadeklarowaniu funkcji przed kodem należy pozostawić przynajmniej jedno wcięcie
- Ten sam styl wcięć powinien być zachowany w całym kodzie w funkcji def
- W przypadku najlepszych praktyk trzy lub cztery wcięcia są uważane za najlepsze przed instrukcją
- Możesz użyć polecenia „return”, aby zwrócić wartości do wywołania funkcji.
- Python wydrukuje losową wartość, taką jak (0x021B2D30), gdy argument nie zostanie dostarczony do funkcji wywołującej. Przykład „funkcja drukowania”.
- Po stronie wywołującej jest argumentem, a po stronie funkcji jest parametrem
- Wartość domyślna w argumencie - Kiedy podajemy tylko jeden argument podczas wywoływania funkcji mnożenia lub dowolnej innej funkcji, Python domyślnie przypisuje drugi argument
- Python umożliwia również odwrócenie kolejności argumentów