Funkcje w Pythonie: def. Python 3 dla początkujących

W językach programowania funkcja nazywa się częścią kodu. Są to oddzielne bloki w tekście programu. Zdefiniowane za pomocą zarezerwowanego słowa def. W Pythonie masz dostęp do funkcji nieograniczonej liczby razy z dowolnej części skryptu.

Dlaczego funkcja wymagana

Funkcje - Jest to niezastąpione narzędzie dla programisty. Z ich pomocą programista tworzy program, czyniąc go bardziej przejrzystym i zwartym. Za pomocą funkcji można osiągnąć wielokrotne użycie oddzielnej części kodu bez jej ponownego pisania.


Jest to najprostszy sposób na spakowanie logiki wykonywania poszczególnych części programu. Zmniejsza to ilość i czas spędzany przez specjalistę na tworzeniu skryptu.

Jak napisać pierwszą funkcję

W Pythonie 3 dla początkujących, jej znajomość programowania jest najprostszą funkcją print (). Aby zobaczyć go w akcji, potrzebujesz środowiska programistycznego. Aby to zrobić, pobierz dystrybucję językową z oficjalnej strony i zainstaluj Python na swoim komputerze. Otwórz menu Start i znajdź Python na liście aplikacji 3. Rozwiń go lewym przyciskiem myszy. Na liście znajdź środowisko IDLE i uruchom je. Wpisz print ("Hello, World!") I naciśnij "Enter". Tłumacz zwróci wynik twojej pierwszej funkcji. Niektórzy programiści wolą pracować w konsoli. Jeśli jesteś pod tym numerem, kliknij przycisk win + R i wpisz python.exe. Otworzy się normalny interpreter, tylko z interfejsem cmd. Wpisz program jak opisano powyżej i naciśnij Enter na końcu, aby zobaczyćwynik



Sposób korzystania z def

Nowe cechy są tworzone za pomocą ręcznego def. Są tak samo skuteczne, jak wbudowana funkcja print () lub open (), ale różnią się od funkcji języka kompilacji. Definicja Pythona odnosi się do instrukcji wykonywalnych. Oznacza to, że funkcja nie istnieje dopóki interpreter tego nie zobaczy i nie przejdzie do jej wykonania. Instrukcja def tworzy nowy obiekt i nadaje mu nazwę. To jest, gdy interpreter rozpoczyna wdrażanie, tworzy nowy obiekt i powiązanie go z tej samej nazwie po def. Możesz dołączyć różne atrybuty, aby zapisać dane w funkcjach. Teraz napisać funkcję, która zwraca wyrażenie «Hello, World!», Tylko przy użyciu def:
  • def zdravstvuy_myr ()
  • print («Hello, World!»)
  • zdravstvuy_myr () # function call
  • Witaj, świecie!
  • składnia funkcji i powrót

    def instrukcji Pythona ma tytuł i zapisywane według następujących zasad:
  • def (argumentu 1 argumentu 2 argumentu N):
  • Po bloku instrukcji tytuł utworu, który zaczyna z przymusowym odosobnieniem. W IDLE interpreter zrobi to automatycznie. Ale w notatniku lub innym edytorze tekstu możesz zapomnieć kliknąć Tab. Wtedy funkcja nie rozpocznie się. Kod programu w bloku instrukcji nazywany jest ciałem funkcji i jest wykonywany za każdym razem, gdy jest wywoływany. Również korpus czasami powrócić
  • def (argumentu 1 argumentu 2 argumentu n):
  • powrotu
  • Powrót wychodzi z narzędzia i wysyła wynik wywołujący obiektu programu. Instrukcja jest opcjonalna. Funkcja zadziała bez powrotu i zakończy się,kiedy przepływ kontroli dociera do końca jej ciała.

    Parametry i argumenty

    Każdej funkcji można przekazać parametry określone w nawiasach po def. W języku Python są one zapisywane jako zmienne oddzielone przecinkami. Wartości lub odniesienia do obiektów dla tych nazw są przypisane w bloku dwukropkiem. Po operacji przypisania są wywoływane jako argumenty, a nie parametry. Argumenty w funkcji nie są powiązane z obiektami spoza niej, dlatego w programowaniu są powiązane ze zmiennymi lokalnymi. Obszar widoczności jest ograniczony przez blok funkcyjny zaczynający się od def i kończący się zwrotem. Aby uczynić jaśniejszym, podaj przykład:
  • x = 12 # przypisz zmienne odniesienia do obiektów całkowitych
  • y = 34
  • def przykład (x, y): # utwórz z nimi funkcję Przykład
  • x = "Cześć" # Przypisz wartości argumentów x, y
  • y = "Python"
  • print (x, y, sep = ",")
  • return Brak
  • przykład (x, y) # wywołanie funkcji bez zapominania o parametrach
  • Hello, Python
  • print (x, y) 37]
  • 1234
  • Uwaga na przedostatni krok kodu. W interprerze Pythona polecenie print () zwraca zmienne xiy z zakresu globalnego. Wartość argumentów nie musi być określona wewnątrz funkcji, można wprowadzić je ręcznie, gdy zostanie wywołana:
  • def E_2 (x, y):
  • zwraca x + y
  • E_2 ("Witaj, "" Python! ") # Aby słowa zostały rozdzielone, umieść spację przed zamknięciem łap
  • Witaj, Pythonie!
  • E_2 (5 4)
  • 10
  • Jak widać na przykładzie z prostą funkcją E_2, wynik zależy całkowicie od rodzaju obiektów x i y. W pierwszym przypadku E_2 wykonywał konkatenację, a w drugim był arytmetycznydodanie operacji. Jest to zasada polimorfizmu i pisania dynamicznego. To, że obiekty określają znaczenie syntaktyczne, decyduje o elastyczności i prostocie języka. Nie trzeba tracić czasu na określenie typu danych, z którymi funkcja działa.

    Zasada LEGB

    Zasada ta dotyczy pracy ze zmiennymi w różnych obszarach widoczności. Domyślnie wszystkie nazwy tworzone w treści funkcji są uważane za lokalne. A nazwy w module są globalne. Jeśli chcesz nazwy, możesz przypisać wartości zmiennych najwyższego poziomu za pomocą instrukcji nielokalnych i globalnych. Reguła LEGB wyjaśnia schemat rozpoznawania nazw:
  • Gdy tylko interpreter znajdzie zmienną w instrukcji def, najpierw wyszukuje wartości w zasięgu lokalnym.
  • Jeżeli wyszukiwanie nie powiedzie się, przechodzi ono do zakresu dowolnego kompleksowego oświadczenia def.
  • Następnie tłumacz przenosi się do globalnych nazw na górnym poziomie modułu i tych wyznaczonych jako globalne.
  • Jeśli wyszukiwanie nie daje wyników, interpreter szuka nazw we wbudowanym zakresie języka Python.
  • Rozważmy konkretny przykład:
  • L = 85
  • R = 23
  • def przykład_2 (K):
  • R = 10
  • C = L + K + R
  • return C
  • example_2
  • 100
  • Zmienne L i R znajdują się na wyższym poziomie i są nazwami globalnymi. R, C i K są zmiennymi lokalnymi, ponieważ przypisanie wartości występuje wewnątrz instrukcji def. Interpreter wykonuje operację dodawania dla lokalnych R, C i K, ignorując zmienną R poza instrukcją def. Następnie szukając L, a nie znajdując go wśród nazw miejscowych,przenosi się na wyższy poziom.

    Co to jest lambda

    Oprócz def, funkcje Pythona można tworzyć za pomocą wyrażeń specjalnych, z których jednym jest lambda. Otrzymał swoje oryginalne imię na cześć rachunku Lambda języka LISP. Podobnie jak def, lambda tworzy funkcję, która może być wywołana w przyszłości, ale nie kojarzy jej z żadną nazwą. W praktyce lambda jest używana, gdy konieczne jest odroczenie wykonania fragmentu kodu.

    Zasady ekspresji Lambda

    Z pozoru wyrazy lambda przypominają instrukcje def. Pierwszym jest słowo kluczowe lambda, następnie argumenty, dwukropek i samo wyrażenie:
  • f = lambda x, y, z: x + y + z
  • f (234)
  • 9 [67 ] Ciało lambda jest pojedynczym wyrażeniem, a nie blokiem instrukcji. Z tego powodu lambda ma ograniczone możliwości i nie jest tak uniwersalna jak def. Może być wdrożona tylko logika, bez cykli w czasie lub w. W przypadku lambda istnieją podobne reguły def. Dla zmiennych wyszukiwania. Nazwy podane poza wyrażeniem są globalne, wewnątrz są lokalne i nie mają żadnego wpływu na siebie. Wyrażenie Lambda jest bardzo wygodne do osadzenia w programie. Ze względu na niewielkie rozmiary minimalizują i upraszczają kod. Ale użycie lambda nie jest fundamentalne. W Pythonie 3 początkujący będą mieli wystarczającą ilość instrukcji def.
  • Powiązane publikacje