Samouczek Pythona

Strona główna Pythona Wprowadzenie do Pythona Wprowadzenie do Pythona Składnia Pythona Komentarze w Pythonie Zmienne w Pythonie Typy danych Pythona Liczby w Pythonie Casting w Pythonie Ciągi Pythona Wartości logiczne w Pythonie Operatory Pythona Listy Pythona Krotki Pythona Zestawy Pythona Słowniki Pythona Python, jeśli... w przeciwnym razie Pętle while Pythona Python dla pętli Funkcje Pythona Python Lambda Tablice Pythona Klasy/obiekty Pythona Dziedziczenie Pythona Iteratory Pythona Zakres Pythona Moduły Pythona Daty Pythona Matematyka w Pythonie Python JSON RegEx w Pythonie PIP w Pythonie Python Wypróbuj... Z wyjątkiem Dane wejściowe użytkownika w Pythonie Formatowanie ciągów w Pythonie

Obsługa plików

Obsługa plików w Pythonie Odczytywanie plików Pythona Zapis/Tworzenie plików w Pythonie Usuń pliki Pythona

Moduły Pythona

Samouczek NumPy Przewodnik po pandzie Samouczek Scipy

Python Matplotlib

Wprowadzenie do biblioteki Matplotlib Matplotlib Rozpocznij Matplotlib Pyplot Matplotlib kreślenie Markery Matplotlib Linia Matplotlib Etykiety Matplotlib Siatka Matplotlib Wykresy podrzędne Matplotlib Rozproszenie Matplotlib Paski Matplotlib Histogramy Matplotlib Wykresy kołowe Matplotlib

Nauczanie maszynowe

Pierwsze kroki Tryb średniej mediany Odchylenie standardowe Percentyl Dystrybucja danych Normalna dystrybucja danych Wykres punktowy Regresja liniowa Regresja wielomianowa Regresja wielokrotna Skala Trenuj/Test Drzewo decyzyjne

Python MySQL

Rozpocznij MySQL Tworzenie bazy danych MySQL Utwórz tabelę MySQL Wstaw MySQL Wybór MySQL MySQL Gdzie Zamów MySQL według Usuń MySQL Tabela upuszczania MySQL Aktualizacja MySQL Limit MySQL Dołącz do MySQL

Python MongoDB

MongoDB Rozpocznij MongoDB Utwórz bazę danych MongoDB Utwórz kolekcję Wstaw MongoDB MongoDB Znajdź Zapytanie MongoDB Sortuj MongoDB Usuń MongoDB MongoDB Drop Collection Aktualizacja MongoDB Limit MongoDB

Odniesienie do Pythona

Przegląd Pythona Wbudowane funkcje Pythona Metody ciągów Pythona Metody listy Pythona Metody słownika Pythona Metody krotek w Pythonie Metody zestawów Pythona Metody plików Pythona Słowa kluczowe w Pythonie Wyjątki Pythona Słownik Pythona

Odniesienie do modułu

Moduł losowy Moduł żądań Moduł statystyk Moduł matematyczny Moduł cMath

Instrukcje Pythona

Usuń duplikaty listy Odwróć ciąg Dodaj dwie liczby

Przykłady Pythona

Przykłady Pythona Kompilator Pythona Ćwiczenia z Pythona Quiz Pythona Certyfikat Pythona

Funkcje Pythona


Funkcja to blok kodu, który działa tylko wtedy, gdy jest wywoływana.

Do funkcji można przekazać dane, zwane parametrami.

W rezultacie funkcja może zwrócić dane.


Tworzenie funkcji

W Pythonie funkcję definiuje się za pomocą słowa kluczowego def :

Przykład

def my_function():
  print("Hello from a function")

Wywołanie funkcji

Aby wywołać funkcję, użyj nazwy funkcji, po której następuje nawias:

Przykład

def my_function():
  print("Hello from a function")

my_function()

Argumenty

Informacje mogą być przekazywane do funkcji jako argumenty.

Argumenty są podane po nazwie funkcji, w nawiasach. Możesz dodać dowolną liczbę argumentów, po prostu oddziel je przecinkiem.

Poniższy przykład ma funkcję z jednym argumentem (fname). Gdy funkcja jest wywoływana, przekazujemy imię, które jest używane wewnątrz funkcji do wypisania pełnego imienia i nazwiska:

Przykład

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

W dokumentacji Pythona argumenty są często skracane do args .



Parametry czy argumenty?

Parametru i argumentu term można używać do tego samego: informacji przekazywanych do funkcji.

Z perspektywy funkcji:

Parametr to zmienna wymieniona w nawiasach w definicji funkcji.

Argument to wartość, która jest wysyłana do funkcji podczas jej wywołania.


Liczba argumentów

Domyślnie funkcja musi być wywołana z odpowiednią liczbą argumentów. Oznacza to, że jeśli twoja funkcja oczekuje 2 argumentów, musisz wywołać funkcję z 2 argumentami, nie więcej i nie mniej.

Przykład

Ta funkcja oczekuje 2 argumentów i otrzymuje 2 argumenty:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
Jeśli spróbujesz wywołać funkcję z 1 lub 3 argumentami, otrzymasz błąd:

Przykład

Ta funkcja oczekuje 2 argumentów, ale otrzymuje tylko 1:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")

Argumenty arbitralne, *args

Jeśli nie wiesz, ile argumentów zostanie przekazanych do Twojej funkcji, dodaj a *przed nazwą parametru w definicji funkcji.

W ten sposób funkcja otrzyma krotkę argumentów i będzie mogła odpowiednio uzyskać dostęp do elementów:

Przykład

Jeśli liczba argumentów jest nieznana, dodaj a *przed nazwą parametru:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")

Argumenty arbitralne są często skrócone do *args w dokumentacji Pythona.


Argumenty słów kluczowych

Możesz również wysyłać argumenty za pomocą składni klucz = wartość .

W ten sposób kolejność argumentów nie ma znaczenia.

Przykład

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

Fraza Keyword Arguments jest często skracana do kwargs w dokumentacji Pythona.


Arbitralne argumenty słów kluczowych, **kwargs

Jeśli nie wiesz, ile argumentów słów kluczowych zostanie przekazanych do Twojej funkcji, dodaj dwie gwiazdki: **przed nazwą parametru w definicji funkcji.

W ten sposób funkcja otrzyma słownik argumentów i będzie mógł odpowiednio uzyskać dostęp do elementów:

Przykład

Jeśli liczba argumentów słów kluczowych jest nieznana, dodaj double **przed nazwą parametru:

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")

Arbitralne argumenty Kword są często skracane do **kwargs w dokumentacji Pythona.


Domyślna wartość parametru

Poniższy przykład pokazuje, jak używać domyślnej wartości parametru.

Jeśli wywołamy funkcję bez argumentu, użyje ona wartości domyślnej:

Przykład

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Przekazywanie listy jako argumentu

Możesz wysłać dowolne typy danych jako argument do funkcji (łańcuch, liczba, lista, słownik itp.) i będą one traktowane jako ten sam typ danych wewnątrz funkcji.

Np. jeśli wyślesz Listę jako argument, nadal będzie to List, gdy dotrze do funkcji:

Przykład

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)

Zwracane wartości

Aby funkcja zwróciła wartość, użyj return instrukcji:

Przykład

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

Oświadczenie o przepustce

functiondefinicje nie mogą być puste, ale jeśli z jakiegoś powodu masz functiondefinicję bez treści, umieść ją w passoświadczeniu, aby uniknąć błędu.

Przykład

def myfunction():
  pass

Rekurencja

Python akceptuje również rekurencję funkcji, co oznacza, że ​​zdefiniowana funkcja może wywołać samą siebie.

Rekurencja jest powszechną koncepcją matematyczną i programistyczną. Oznacza to, że funkcja wywołuje samą siebie. Ma to tę zaletę, że możesz zapętlić dane, aby osiągnąć wynik.

Deweloper powinien być bardzo ostrożny z rekurencją, ponieważ może być dość łatwo wślizgnąć się do napisania funkcji, która nigdy się nie kończy, lub takiej, która używa nadmiernej ilości pamięci lub mocy procesora. Jednak poprawnie napisana rekurencja może być bardzo wydajnym i matematycznie eleganckim podejściem do programowania.

W tym przykładzie tri_recursion() jest funkcją, którą zdefiniowaliśmy tak, aby wywoływała samą siebie ("recurse"). Używamy zmiennej k jako danych, która zmniejsza się ( -1 ) za każdym razem, gdy wykonujemy rekurencję. Rekurencja kończy się, gdy warunek nie jest większy niż 0 (tj. gdy wynosi 0).

Nowemu programiście może zająć trochę czasu, aby dowiedzieć się, jak dokładnie to działa, najlepszym sposobem jest przetestowanie i zmodyfikowanie go.

Przykład

Przykład rekurencji

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Utwórz funkcję o nazwie my_function.

:
  print("Hello from a function")