Jak wywołać funkcję w Python (Przykład)
W czym jest funkcja Python?
A Funkcja w Python to fragment kodu, który jest uruchamiany, gdy pojawia się odwołanie. Służy do wykorzystania kodu w więcej niż jednym miejscu programu. Nazywa się to również metodą lub procedurą. Python udostępnia wiele wbudowanych funkcji, takich jak print(), input(), kompilacja(), exec() itp., ale daje także swobodę tworzenia własnych funkcji.
Jak zdefiniować i wywołać funkcję w Python
Funkcja w Python jest zdefiniowany przez „zdecydowanie” instrukcja, po której następuje nazwa funkcji i nawiasy ( () )
Przykład:
Zdefiniujmy funkcję za pomocą polecenia „ def func1():” i wywołajmy tę funkcję. Wynikiem funkcji będzie „Uczę się Python funkcjonować".
Funkcja drukuj func1() wywołuje naszą funkcję def func1(): i wyświetla polecenie ” uczę się Python funkcja Brak."
Istnieje zbiór zasad Python zdefiniować funkcję.
- Wszelkie argumenty lub parametry wejściowe należy umieścić w tych nawiasach
- Pierwszą instrukcją funkcji może być opcjonalna instrukcja-docstring lub ciąg dokumentacji funkcji
- Kod w każdej funkcji zaczyna się od dwukropka (:) i powinien być wcięty (spacja)
- Instrukcja return (wyrażenie) kończy funkcję, opcjonalnie przekazując wartość wywołującemu. Instrukcja return bez argumentów jest taka sama jak instrukcja 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 i zasady te mają zastosowanie do pozostałych elementów Python a także deklarowanie warunków, pętli lub zmiennych.
Python stosuje się do określonego stylu wcięć w celu zdefiniowania kodu, ponieważ Python funkcje nie mają żadnego wyraźnego początku ani końca, jak nawiasy klamrowe, aby wskazać początek i koniec funkcji, muszą polegać na tym wcięciu. Tutaj bierzemy prosty przykład z poleceniem „drukuj”. Kiedy napiszemy funkcję „print” tuż pod funkcją def 1 (): wyświetli się „błąd wcięcia: oczekiwano wciętego bloku".
Teraz, gdy dodasz wcięcie (spację) przed funkcją „drukuj”, powinna ona zostać wydrukowana zgodnie z oczekiwaniami.
Przynajmniej jedno wcięcie wystarczy, aby Twój kod działał poprawnie. Jednak najlepszą praktyką jest pozostawienie około 3-4 wcięć na wywołanie funkcji.
Konieczne jest również, aby deklarując wcięcie, trzeba to było zrobić zachowaj to samo wcięcie w pozostałej części kodu. Na przykład na poniższym zrzucie ekranu, gdy wywołujemy inną instrukcję „nadal w func1” i gdy nie jest ona zadeklarowana tuż pod pierwszą instrukcją drukowania, wyświetli się błąd wcięcia „brak wcięcia nie odpowiada żadnemu innemu poziomowi wcięcia.”
Teraz, gdy zastosujemy to samo wcięcie w obu instrukcjach i wyrównamy je w tej samej linii, 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 jest „powrotem”. Na przykład chcemy kwadratu 4 i powinien on dać odpowiedź „16” po wykonaniu kodu. Daje to, gdy po prostu używamy kodu „print x*x”, ale gdy wywołujemy funkcję „print Square”, na wyjściu pojawia się „Brak”. Dzieje się tak dlatego, że gdy wywołujesz funkcję, rekurencja nie następuje i spada na końcu funkcji. Python zwraca „None” w przypadku niepowodzenia zakończenia funkcji.
Krok 2) Zastąp polecenie drukowania poleceniem przypisania
Aby było to jaśniejsze, zastępujemy polecenie drukowania poleceniem przypisania. Sprawdźmy wyniki.
Kiedy uruchomisz polecenie „print Square (4)”, w rzeczywistości zwraca ono wartość obiektu, ponieważ nie mamy tu żadnej konkretnej funkcji do uruchomienia, zwraca „Brak”.
Krok 3) Użyj funkcji „return” i wykonaj kod
Teraz zobaczymy, jak odzyskać dane wyjściowe za pomocą polecenia „return”. Kiedy użyjesz funkcji „return” i wykonasz kod, otrzymasz 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 traktuje przedmiot. Po uruchomieniu polecenia „drukuj kwadrat” zwracana jest 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 praktyce Python programu, prawdopodobnie nigdy nie będziesz musiał tego robić.
Argumenty w funkcjach
Argument to wartość przekazywana do funkcji podczas jej wywoływania.
Innymi słowy, po stronie wywołującej jest to argument, a po stronie funkcji jest to parametr.
Zobaczmy jak Python Args działa –
Krok 1) Argumenty deklaruje się w definicji funkcji. Wywołując funkcję, możesz przekazać wartości 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. Wartości domyślne 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 wartości domyślnej y=0 i zwrócimy wynik jako (4×2)=8.
Krok 4) Można także 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), wywołując funkcję (*args).
Przykład: Zadeklarowaliśmy wiele argumentów jako liczbę (1,2,3,4,5), gdy wywołujemy funkcję (*args); wypisuje wynik jako (1,2,3,4,5)
Wskazówki:
- In Python 2.7. przeciążenie funkcji nie jest obsługiwany w Python. Przeciążanie funkcji to możliwość tworzenia wielu metod o tej samej nazwie z inną implementacją. Funkcja Przeciążanie jest w pełni obsługiwana 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 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 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)
Podsumowanie
Funkcja w Python to fragment kodu wielokrotnego użytku, który służy do wykonania pojedynczej, powiązanej akcji. W tym artykule zobaczymy
- Funkcja zdefiniowana przez def oświadczenie
- Blok kodu w każdej funkcji zaczyna się od dwukropka (:) i powinien być wcięty (spacja)
- Wszelkie argumenty lub parametry wejściowe należy umieścić w tych nawiasach itp.
- Po zadeklarowaniu funkcji należy pozostawić przynajmniej jedno wcięcie przed kodem
- W całym kodzie funkcji def należy zachować ten sam styl wcięć
- W przypadku najlepszych praktyk za najlepsze uważa się trzy lub cztery akapity przed stwierdzeniem
- Możesz użyć polecenia „return”, aby zwrócić wartości do wywołania funkcji.
- Python wypisze losową wartość, np. (0x021B2D30), jeśli argument nie zostanie dostarczony do funkcji wywołującej. Przykład „funkcja drukowania”.
- Po stronie wywołującej jest to argument, a po stronie funkcji jest to parametr
- Domyślna wartość w argumencie – Gdy podamy 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