Funkce v Pythonu: def. Python 3 pro začátečníky

V programovacích jazycích se funkce nazývá částí kódu. Jedná se o samostatné bloky v textu programu. Definováno pomocí vyhrazeného slova def. V Pythonu máte přístup k funkcím neomezeného počtu případů z jakékoli části skriptu.

Proč funkce požadována

Funkce - Jedná se o nepostradatelný nástroj pro programátora. S jejich pomocí rozvíjí vývojář program, čímž je jasnější a kompaktnější. S pomocí funkcí můžete dosáhnout víceúčelového použití samostatné části kódu bez jeho opětovného zápisu.


Jedná se o nejjednodušší způsob, jak zabalit logiku provádění jednotlivých částí programu. Tím se snižuje množství a čas, který špecialista vynakládá na vytvoření skriptu.

Jak psát první funkci

V Pythonu 3 pro začátečníky je jeho znalost programování nejjednodušší funkcí print (). Chcete-li ji vidět v akci, budete potřebovat vývojové prostředí. Chcete-li to provést, stáhněte si jazykovou distribuci z oficiálního webu a nainstalujte Python do počítače. Otevřete nabídku Start a najděte Python v seznamu aplikací. 3. Rozbalte ho levým tlačítkem myši. V seznamu zjistěte prostředí IDLE a spusťte jej. Zadejte typ ("Dobrý den, svět!") A stiskněte "Enter". Tlumočník vrátí výsledek vaší první funkce. Někteří programátoři dávají přednost práci v konzoli. Pokud jste v tomto čísle, klepněte na příkaz win + R a zadejte příkaz python.exe. Otevře se normální tlumočník pouze s rozhraním cmd. Zadejte program, jak je popsáno výše, a stiskněte klávesu Enter pro zobrazenívýsledek



Jak používat def

Tyto nové funkce jsou vytvořeny pomocí ručního def. Oni jsou stejně účinné jako vestavěným print () nebo open (), ale liší se ve vlastnostech kompylyruyuschyh jazyků. Python def se odkazuje na spustitelné instrukce. To znamená, že funkce neexistuje, dokud ji tlumočník nevidí a nezačne jej vykonávat. Příkaz def vytvoří nový objekt a dává mu jméno. To je, když interpret začne realizovat, vytvoří nový objekt a jeho propojení se stejným názvem po def. K ukládání dat do funkcí můžete připojit různé atributy. Nyní pojďme napsat funkci, která vrátí výraz «Hello, World!», Pouze za použití def:
  • def zdravstvuy_myr)
  • print («Hello, World!»)
  • zdravstvuy_myr (() # volání funkce
  • Dobrý den, svět!
  • syntax funkcí a návrat

    Návod k def v Python má titul a které následujících pravidel:
  • def (argumentace 1 argumentem 2 argumentu N):
  • Po titulní skladba instrukce blok, který začíná s povinným ústupem. V IDLE interpret provede automaticky. Ale v notebooku nebo jiném textovém editoru můžete zapomenout na tlačítko Tab. Potom se funkce nespustí. Kód programu v bloku instrukcí se nazývá tělo funkce a provádí se při každém volání. Také těleso je někdy vrátit:
  • def (argumentace 1 argumentem 2 argumentu N):
  • návrat
  • Návrat ukončí nástroj a odešle výsledek volající program objektu. Pokyn je volitelný. Funkce bude fungovat bez návratu a skončí,když tok kontroly dosáhne konce jejího těla.

    Doplňky a argumenty

    Každá funkce může přenést nastavení, které jsou uvedeny v závorkách za def. V Pythonu jsou napsány jako proměnné oddělené čárkami. Hodnoty nebo odkazy na objekty pro tyto názvy jsou přiřazeny v bloku dvojtečkou. Po provedení přiřazení se nazývají argumenty, nikoliv parametry. Argumenty funkcí nesouvisejících objektů mimo něj, takže programování, které patří do lokálních proměnných. Oblast viditelnosti je omezena funkčním blokem, který začíná def a končí návrat. Aby to bylo jasnější, uvádíme příklad:
  • X = 12 # přiřadit celé číslo proměnné referenční objekty,
  • Y = 34
  • def příklad (x, y): # vytvořit funkce s nimi ‚jámy příklad
  • X =«Dobrý den»# přiřazení hodnot argumentů x, y
  • , y =«Python»
  • pro tisk (x, y, odd =«»)
  • vrátí None
  • příklad (x, y) # volání funkce, nezapomeňte pro vstup do
  • Dobrý den, Python
  • print (x, y)
  • 1234
  • Poznamenejte si předposlední krok kódu. V Python příkazového interpretu print () vrací x a y proměnné globálním rozsahem. Argument hodnota nemusí nutně znamenat v rámci funkce, můžete je zadat ručně během hovoru:
  • def E_2 (x, y):
  • return x + y
  • E_2 («Dobrý den, »«Python!») #, že slova byla oddělena, dát prostor před uzavírací uvozovky
  • Dobrý den, Python!
  • E_2 (5 4)
  • , 10
  • Jak je znázorněno na příkladu jednoduchého důsledku funkce E_2 zcela závisí na typu objektu x a y. V prvním případě E_2 provedl zřetězení a ve druhé byl aritmetickýpřidání operace. To je princip polymorfismu a dynamického psaní. Skutečnost, že objekty určují syntaktický význam, určuje flexibilitu a jednoduchost jazyka. Není třeba ztrácet čas specifikující typ dat, se kterými funkce funguje.

    Pravidlo LEGB

    Toto pravidlo platí pro práci s proměnnými v různých oblastech viditelnosti. Ve výchozím nastavení jsou všechna jména, která vytvoříte v těle funkce, považována za místní. A jména v modulu jsou globální. Pokud chcete jména, můžete přiřadit hodnoty proměnných nejvyšší úrovně pomocí nelineárních a globálních pokynů. Pravidlo LEGB vysvětluje schéma rozlišování názvů:
  • Jakmile tlumočník nalezne proměnnou uvnitř příkazu def, nejprve vyhledá hodnoty v místním rozsahu.
  • Pokud se vyhledávání nezdaří, přesune se do rozsahu veškerého výrazu def def.
  • Tlumočník se dále přesune na globální názvy v horní úrovni modulu a globální názvy.
  • Pokud vyhledávání nevytvoří výsledky, interpret hledá jména ve vestavěném rozsahu jazyka Python.
  • Uvažujme konkrétní příklad:
  • L = 85
  • R = 23
  • def příklad_2 (K):
  • návrat C
  • example_2
  • 100
  • Proměnné L a R jsou na horní úrovni a jsou globální názvy. R, C a K jsou lokální proměnné, protože přiřazení hodnot nastává uvnitř def definice. Tlumočník provádí operaci přidání místních R, C a K, přičemž ignoruje proměnnou R mimo příkaz def. Poté hledá L a nenachází se mezi jmény místních,přesune se do horní úrovně.

    Co je lambda

    Kromě def, mohou být funkce Pythonu vytvořeny pomocí speciálních výrazů, z nichž jedna je lambda. On přijal jeho původní jméno na počest Lambda-kalkus jazyka LISP. Stejně jako def, lambda vytváří funkci, která může být v budoucnu volána, ale nespojuje ji s žádným jménem. V praxi se lambda používá, když je nutné odložit provedení úryvku kódu.

    Principy exprese lambda

    Ve vzhledu výrazy lambda připomínají pokyny def. První je klíčové slovo lambda, pak argumenty, dvojtečka a samotný výraz:
  • f = lambda x, y, z: x + y + z
  • f [234] ] Tělo lambda je jediný výraz, ne blok pokynů. Díky tomu má lambda omezenou schopnost a není tak univerzální jako def. Může být implementována pouze logika, bez cyklů během nebo za. Pro lambdu existují obdobné def pravidla pro vyhledávací proměnné. Názvy uvedené mimo výraz jsou globální, uvnitř jsou místní a nemají žádný vliv na sebe. Výraz Lambda je velmi vhodný pro vkládání do programu. Vzhledem k malé velikosti minimalizují a zjednodušují kód. Ale použití lambdy není zásadní. V Pythonu 3 budou mít začátečníci dostatek instrukcí.
  • Související publikace