Jak wywołać funkcję w Pythonie: The Ultimate Guide

Funkcje to podstawowe pojęcie w programowaniu, które umożliwia zarządzanie blokami kodu i ponowne ich wykorzystywanie. Wiedza o tym, jak wywołać funkcję w Pythonie, jest kluczową umiejętnością do nauczenia.

W tym samouczku poznasz podstawy wywoływania funkcji, a także wskazówki dotyczące pisania efektywnego kodu, który jest łatwiejszy do zrozumienia.

Opanowanie funkcji nie tylko pomoże Ci stworzyć bardziej wszechstronny kod, ale także usprawni proces programowania i poprawi ogólną wydajność jako programisty.

Funkcje mają te same podstawowe zasady, a kiedy opanujesz funkcje w Pythonie, będziesz w stanie poszerzyć swoją wiedzę na temat funkcji w porównaniu z innymi językami programowania, takimi jak Java, R, JavaScript, PHP itp.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Spis treści

Co to jest funkcja?

Funkcja w Pythonie umożliwia tworzenie fragmentów kodu wielokrotnego użytku, które można wywoływać w całym programie, upraszczając kod i poprawiając czytelność. Wykonuje określone zadanie lub zestaw zadań i może być wywoływany wiele razy w ramach programu. 

Definiowanie funkcji w Pythonie

Istnieją dwie główne kategorie funkcji w Pythonie:

  • Funkcje zdefiniowane przez użytkownika: Funkcje definiowane przez programistę w celu uniknięcia powtarzania kodu
  • Wbudowane funkcje : Funkcje, które zostały zdefiniowane przez kogoś innego i mogą być użyte w twoim kodzie po zainstalowaniu niezbędnych pakietów

Ta sekcja samouczka języka Python koncentruje się na funkcjach zdefiniowanych przez użytkownika. Nauczysz się:

  • Jak zdefiniować funkcję w Pythonie
  • Składnia funkcji
  • Jak używać parametrów i argumentów

Składnia funkcji

Słowo def kluczowe, po którym następuje nazwa funkcji i nawiasy, pozwala zdefiniować funkcję w Pythonie. Treść funkcji jest wcięta i zawiera kod, który ma zostać wykonany po wywołaniu funkcji. Przykład podstawowej funkcji w Pythonie podano poniżej:

def witaj(): print("Witaj, świecie!") witaj()

Słowo def kluczowe definiuje nową funkcję o nazwie witaj. Trzecia linia kodu wywołuje funkcję, która wykonuje kod wewnątrz funkcji.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Linia printw powyższym kodzie jest również funkcją. Jeśli jednak pracujesz w środowisku Python 2, jest to zdefiniowane jako instrukcja. Później, w Pythonie 3, zostało to zmienione z instrukcji na funkcję.

Parametry i argumenty

Parametry to symbole zastępcze w definicji funkcji, podczas gdy argumenty to wartości przekazywane podczas wywoływania funkcji.

Aby określić parametry, umieść je w nawiasach definicji funkcji, oddzielając je przecinkami, jeśli istnieje wiele parametrów. Kiedy wywołujesz funkcję, podajesz wartości wejściowe zwane argumentami. Poniższy przykład demonstruje zdefiniowanie funkcji, która przyjmuje dwa parametry:

def add_numbers(a, b): zwraca a+b

Instrukcja return w treści funkcji zwraca dodanie dwóch przekazanych do niej argumentów. Możesz myśleć o tym jak o kalkulatorze, w którym wprowadzasz wartości i otrzymujesz w zamian pożądany wynik.

Po zdefiniowaniu funkcji możemy ją wywołać z wybranymi przez nas argumentami.

dodaj_liczby(3, 5)

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Argument kwargów

kwargs jest skrótem od „argumentów słów kluczowych” w Pythonie. Pozwala rozszerzyć elastyczność funkcji, pozwalając wywołującemu określić dowolną liczbę argumentów słów kluczowych podczas wywoływania funkcji. Argumenty słów kluczowych są przekazywane do funkcji jako słownik.

W definicji funkcji można użyć **składni podwójnej gwiazdki przed nazwą parametru, aby akceptować argumenty słów kluczowych.

def moja_funkcja(**kwargs): dla klucza, wartość w kwargs.items(): print(f"{klucz} = {wartość}") moja_funkcja(a=1, b=2, c=3)

W tym przykładzie kwargs będzie to słownik zawierający argumenty słów kluczowych przekazane do funkcji. Wyjście pokazano na poniższym obrazku:

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Wywołanie funkcji

Wywołanie funkcji oznacza wykonanie kodu wewnątrz ciała funkcji. Istnieją cztery typy wywołań funkcji w Pythonie:

  • Wywołanie funkcji podstawowej
  • Wywoływanie z argumentami pozycyjnymi
  • Wywoływanie z argumentami słów kluczowych

Wywołanie funkcji podstawowej

Podstawowe wywołanie funkcji wywołuje funkcję bez przekazywania do niej żadnych argumentów. Po zdefiniowaniu funkcji można ją wywołać, używając jej nazwy z nawiasami okrągłymi.

Jeśli funkcja nie przyjmuje żadnych argumentów, nawiasy będą puste. Poniższy kod jest przykładem podstawowej funkcji.

def Welcome_message(): print("Witamy w LuckyTemplates!") Welcome_message()

Uruchomienie powyższego kodu daje następujący wynik:

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Argumenty pozycyjne

Argumenty pozycyjne są najczęstszym rodzajem argumentów i są przekazywane do funkcji w tej samej kolejności, w jakiej zostały określone. Poniżej znajduje się przykład wywołania funkcji z argumentami pozycyjnymi:

def powitalna_wiadomość(nazwa): print(f"Witamy w LuckyTemplates, {imię}!") powitalna_wiadomość("Jan")

W powyższym przykładzie welcome_message()funkcja przyjmuje jeden argument, name. Gdy wywołasz tę funkcję z argumentem John, wyświetli ona komunikat obok nazwy.

Powyższy kod daje następujące dane wyjściowe:

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Argumenty słów kluczowych

Innym sposobem przekazywania argumentów do funkcji jest użycie argumentów w postaci słów kluczowych. Argumenty słów kluczowych pozwalają określić nazwę parametru wraz z jego wartością, dzięki czemu kod jest bardziej czytelny i zmniejsza się szansa na przekazanie argumentów w niewłaściwej kolejności. 

Poniższy przykład używa argumentów słów kluczowych do wywołania welcome_messagefunkcji:

def welcome_message(name, message='Witamy w LuckyTemplates!'): print(message, name) welcome_message(name='Alicja', message='Dzień dobry')

W tym przykładzie zdefiniowaliśmy funkcję welcome_message(), która ma dwa parametry: name, i message. Parametr wiadomości ma domyślny argument Welcome to LuckyTemplates!Podczas wywoływania funkcji używamy argumentów słów kluczowych do przekazania wartości John, co daje wynikWelcome to LuckyTemplates! John.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Zwracane wartości

Podczas pracy z funkcjami często będziesz chciał zwrócić wynik operacji w ciele funkcji. Wartości zwracane umożliwiają funkcji wysłanie wyniku z powrotem do obiektu wywołującego. Dzięki zrozumieniu, jak pracować z pojedynczymi i wieloma zwracanymi wartościami, możesz zwiększyć funkcjonalność swoich programów w Pythonie.

Pojedyncza wartość zwracana

Funkcja z pojedynczą wartością zwracaną zwraca jedną wartość z operacji w funkcji.

Poniżej podano przykład funkcji z pojedynczą wartością zwracaną:

def get_greeting(nazwa): return "Cześć, " + imię + "!" powitanie = get_greeting("Alicja") print(powitanie)

W powyższym przykładzie funkcja get_greetingprzyjmuje nazwę, ponieważ jej argument funkcji kompiluje ją i zwraca spersonalizowane powitanie. Zwrócona wartość jest następnie zapisywana w zmiennej powitania i wyświetlana w konsoli.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Wiele zwracanych wartości

Czasami będziesz musiał zwrócić więcej niż jedną wartość z funkcji w Pythonie. Aby to osiągnąć, możesz użyć krotki lub listy do zawijania zwracanych wartości.

Poniżej znajduje się przykład funkcji wielu zwracanych wartości w języku programowania Python.

def get_name_and_age(): return("Jan", 30) imię, wiek = get_name_and_age() print(imię) print(wiek)

Jak wywołać funkcję w Pythonie: The Ultimate Guide

W tym przykładzie get_name_and_agejest to funkcja, która zwraca krotkę z dwiema wartościami: a name i an age.

Możesz także zwrócić listę wartości z funkcji w Pythonie . Poniższa funkcja ilustruje listę wartości zwracanych przez funkcję.

def oblicz_powierzchnie(wysokość, szerokość): return [wysokość * szerokość, (wysokość * szerokość) / 2] powierzchnia, trójkąt_powierzchnia = oblicz_obszary(10, 5) print(powierzchnia) print(powierzchnia_trójkąta)

Jak wywołać funkcję w Pythonie: The Ultimate Guide

W tym przypadku funkcja calculate_areasprzyjmuje dwa argumenty, height, oraz width, i zwraca listę zawierającą pole prostokąta i pole trójkąta.

Przekazywanie funkcji Pythona jako argumentów

Python umożliwia przekazywanie funkcji jako argumentów do innych funkcji. Gdy funkcja przyjmuje inną funkcję jako argument, nazywa się ją funkcją wyższego rzędu.

Poniższy kod jest przykładem przekazania funkcji do innej funkcji w Pythonie:

def kwadrat(x): powrót x * x def double(x): powrót x * 2 def zastosuj_func(func, x): return func(x) wynik = zastosuj_func(kwadrat, 5)

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Funkcje zagnieżdżone

Funkcje zagnieżdżone to funkcje zdefiniowane w innej funkcji, znane również jako funkcje wewnętrzne. Mogą być przydatne podczas tworzenia zamknięć i kodu modułowego. 

Aby utworzyć funkcję zagnieżdżoną, po prostu zdefiniuj funkcję w innej funkcji:

def funkcja_zewnętrzna(x, y): def funkcja_wewnętrzna(z): return x + y + z wynik = funkcja_wewnętrzna(3) return wynik # Wywołaj funkcję zewnętrzną print(funkcja_zewnętrzna(1, 2))

W powyższym przykładzie wewnętrzna_funkcja jest zdefiniowana w zewnętrznej_funkcji. Funkcja wewnętrzna ma dostęp do zmiennych funkcji zewnętrznej, dzięki czemu może wykonywać na nich operacje.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Funkcje lambdy

Funkcje lambda, znane również jako funkcje anonimowe, to sposób tworzenia małych, jednorazowych funkcji w Pythonie. W projektach związanych z nauką o danych często będziesz pracować z funkcjami Lambda w celu tworzenia wydajnych struktur danych i potoków.

Aby utworzyć funkcję lambda, możesz użyć słowa kluczowego lambda, po którym następuje lista argumentów, dwukropek i wyrażenie. Wyrażenie jest tym, co funkcja lambda zwróci po wywołaniu. Poniżej znajduje się przykład funkcji lambda w Pythonie:

add = lambda a, b: a + b wynik = add(3, 4) print(result) # Wynik: 7

W powyższym przykładzie stworzyliśmy funkcję lambda, która przyjmuje dwa argumenty ( a i b) i zwraca ich sumę. Przypisaliśmy tę funkcję lambda do zmiennej o nazwie add.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Lambda może być przydatna w następujących scenariuszach:

  • Jako argumenty dla funkcji wyższego rzędu, takich jak map(), filter() i sorted().
  • Jako kluczowe funkcje podczas sortowania list lub słowników.

Poniższy przykład ilustruje użycie funkcji wyższego rzędu filter() z lambda:

liczby = [1, 2, 3, 4, 5, 6, 7, 8, 9] liczby parzyste = lista (filtr (lambda x: x % 2 == 0, liczby)) print (liczby_parzyste) # Wyjście: [2, 4, 6, 8]


W tym przykładzie użyliśmy funkcji lambda do zdefiniowania kryteriów filtrowania dla funkcji filter(). Funkcja lambda sprawdza, czy liczba jest parzysta, a funkcja filter() zwraca nową listę zawierającą tylko liczby parzyste.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Aby zobaczyć przykład tego, jak funkcje mogą być przydatne w różnych scenariuszach nauki o danych, obejrzyj poniższy film:

rekursja

Rekurencja to technika programowania, w której funkcja wywołuje samą siebie. Może to być przydatny sposób rozwiązywania złożonych problemów poprzez podzielenie ich na mniejsze, identyczne podproblemy.

Podczas tworzenia funkcji rekurencyjnej należy pamiętać o dwóch rzeczach: przypadku podstawowym i przypadku rekurencyjnym. 

  • Przypadek podstawowy to warunek, który zatrzymuje rekursję
  • Przypadek rekurencyjny to sytuacja, w której funkcja wywołuje samą siebie. Przypadek rekurencyjny działa jak iterator dla funkcji

Poniższy przykład demonstruje funkcje rekurencyjne w Pythonie:

def silnia(n): jeśli n == 1: zwróć 1 zwróć n * silnia(n - 1) silnia(5)

W tym przykładzie bazowym przypadkiem jest when n == 1, a funkcja zwraca 1. Przypadek rekurencyjny występuje, gdy n nie jest równe 1, a funkcja wywołuje samą siebie z n - 1.

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Typowe błędy i rozwiązywanie problemów

Jeśli jesteś początkującym programistą, często napotkasz błędy podczas implementacji funkcji, takich jak funkcje rekurencyjne i lambda. W poniższych sekcjach opisano kilka typowych błędów i wskazówki dotyczące rozwiązywania problemów, które pomogą Ci skutecznie je rozwiązać.

1. Błąd typu: brak wymaganego argumentu : Ten błąd występuje, gdy nie podasz prawidłowej liczby argumentów oczekiwanych przez funkcję.

def my_function(fname, lname): print(fname, lname) # Prawidłowe wywołanie my_function("John", "Doe") # Zgłosi błąd my_function("John")

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Aby naprawić ten błąd, upewnij się, że przekazujesz poprawną liczbę argumentów do swojej funkcji.

2. TypeError: nieobsługiwany typ operandu . Ten błąd może wystąpić, gdy próbujesz użyć operatora z niezgodnymi typami.

def add_number(a, b): return a + b # Poprawny wynik wywołania = add_number(5, 3) print(result) # Zgłosi błąd z powodu błędnych argumentów wynik = add_number("5", 3) print(result)

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Aby naprawić ten błąd, sprawdź, czy Twoje funkcje obsługują odpowiednie typy danych, i rozważ użycie rzutowania typów, jeśli to konieczne

3. Błąd nazwy: nazwa „nazwa_funkcji” nie jest zdefiniowana : Ten błąd sugeruje, że funkcja nie została zdefiniowana przed jej wywołaniem. 

# Poprawna kolejność def greet(): print("Witaj!") greet() # Niepoprawna kolejność do widzenia() def do widzenia(): print("Do widzenia!")

Jak wywołać funkcję w Pythonie: The Ultimate Guide

Aby naprawić ten błąd, upewnij się, że twoja funkcja jest poprawnie zdefiniowana i wywołujesz ją po jej zdefiniowaniu.

Wniosek

Aby podsumować i pomóc Ci utrwalić swoje zrozumienie, poniższe punkty podsumowują kluczowe aspekty wywoływania funkcji w Pythonie:

  • Aby wywołać funkcję, użyj nazwy funkcji zakończonej nawiasami okrągłymi (np. function_name()).
  • Jeśli funkcja przyjmuje argumenty, umieść je w nawiasach okrągłych (np. function_name(arg1, arg2)).
  • Możesz tworzyć własne funkcje za pomocą słowa kluczowego def, definiując zakres funkcji i wszelkie wymagane argumenty.
  • Podczas wywoływania funkcji, która zwraca wartość, możesz przypisać wynik do zmiennej do późniejszego wykorzystania (np. result = function_name(args)).

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.