Python

Výukový program pre uzávierky v jazyku Python

Výukový program pre uzávierky v jazyku Python
Uzávierka je vnorená vnútorná metóda alebo funkcia, ktorá rozpoznáva a má oprávnenie používať premenné aj po ukončení vykonávania vonkajšej funkcie v lokálnom rozsahu, v ktorom bola vytvorená. Premenná musí pochádzať z vonkajšej funkcie alebo rozsahu a nie je určite ohraničená v lokálnom priestore, ktorý sa má použiť. Uzávierka Pythonu má tri vlastnosti:

Vnorená funkcia

Najprv musíte pochopiť, čo je vnorená metóda. Vnorenú funkciu je možné definovať ako metódu špecifikovanú v rámci inej metódy. Rekurzívne funkcie môžu dosiahnuť premenné vonkajšieho rozsahu. Ak chcete zmeniť nelokálne premenné, špecificky ich definujeme ako nelokálne prostredníctvom nelokálnych kľúčových slov, pretože sú svojou povahou iba na čítanie. Najprv sa teda pozrite na vnorenú funkciu vykonanú v Spyder Python 3.

Definovali sme dve funkcie: vonkajšiu a vnútornú. Vo vonkajšej funkcii sme deklarovali premennú, v ktorej je nejaká textová hodnota.

def outer_func ()
msg = 'Hy! Som Aqsa Yasin '

Táto premenná bola vo vnútornej funkcii vytlačená pomocou príkazu na tlač. Potom sa vráti vnútorná funkcia, ktorá je vnorenou funkciou, a potom sa volá vonkajšia funkcia.

def internal_func ()
tlač (správa)
návrat internal_func ()
inner_func ()

Ak nepoužívate kľúčové slovo return na vrátenie vnútornej funkcie, vráti stále rovnaký výsledok.

Keď spustíte tento jednoduchý kód, vráti vám text definovaný ako hodnota v premennej 'msg'.

Výstup: Hy! Som Aqsa Yasin

Teraz definujte rovnaký typ vnorenej funkcie bez návratového kľúčového slova a odovzdávajúcej premennej 'msg' v parametri a získate rovnaký výstup.

Výstup: Dobrý deň

Funkcia jednoduchého zatvárania

Použite rovnaký kód, s malými zmenami na posledných dvoch riadkoch. S povrázkom 'Ahoj', the show_msg () bola vyvolaná metóda a vrátená metóda bola viazaná na slovo 'ďalší'. Počas telefonovania ďalší(), text 'Ahoj' sa stále pripomínalo, zatiaľ čo show_msg () metóda už bola spustená. Nezabudnite pridať premennú 'msg' v rámci vonkajšej funkcie.

Keď spustíte tento kód, ukáže sa, že vnútorná funkcia, ktorá je a šou(), bol priradený k premennej 'ďalší'.

Výkon: .ukázať na 0x0000020CCED4D820>

Môžete si jednoducho vytlačiť názov funkcie priradenej k premennej 'ďalší' ako:

tlač (iná.__názov__)

Na výstup bude uvedený názov funkcie.

Výstup: ukážka

Teraz, ak chcete vykonať túto premennú ako funkciu, podobne ako iné metódy, môžete to urobiť pridaním zátvoriek a ich volaním takto:

another = show_msg ("Hello")
ďalší()
ďalší()

Môžete to nazvať toľkokrát, koľkokrát chcete.

Po spustení tohto kódu sa zobrazí niečo ako toto:

Výkon:

Ahoj

Ahoj

Ahoj

Teraz vidíte, že aj po dokončení vykonávania vonkajšej funkcie si vnútorná funkcia stále pamätá premenné a ďalšie veci, ktoré boli vytvorené alebo definované v lokálnom priestore.

Uzatváracia funkcia pomocou parametrov

Teraz sme pridali parametre pri odovzdávaní premennej vo vonkajšej funkcii ako:

def show_msg (msg)

Hodnota odovzdaná do parametra vonkajšej funkcie bude priradená k premennej definovanej v rámci tejto vonkajšej funkcie ako:

Správa = správa

Do novovytvorených premenných na posledný riadok vložte niektoré hodnoty reťazcov, napríklad:

func1 = show_msg ('Ahoj')
func2 = show_msg ('Hello')

Teraz musíte takto volať tieto funkcie:

func1 ()
func2 ()

Získate nasledujúci výstup zobrazený na obrázku editora spyder:

V rámci Pythonu sa tento proces, pomocou ktorého sa ku skriptu pripoja všetky údaje (pre tento scenár Ahoj alebo Ahoj), nazýva Uzavretie.

Jednoduché množenie pomocou Python Closure

Definovali sme dve funkcie. Jeden je vonkajší, ktorý má definovaný multiplikátor, a vnútorný, v ktorom bude hodnota odovzdaná pri volaní funkcie. Vo vonkajšej funkcii sme deklarovali premennú, v ktorej bola odovzdaná definovaná hodnota multiplikátora. Táto hodnota multiplikátora 'n' bol znásobený určitou hodnotou 'X' ktorý sa odovzdá vo výkaze tlače vnútornej funkcii. Potom sa vráti vnútorná funkcia, ktorá je vnorenou funkciou, a potom sa v tlačových príkazoch premenné volajú jedna po druhej.

def out_multiply (n):
def in_multiply (x):
návrat x * n
návrat in_multiply

Teraz nová premenná priradila určitú hodnotu, ktorá sa má odovzdať v parametri vonkajšej funkcie. Táto hodnota sa uloží do premennej 'n', čo je multiplikátor definovaný vo vonkajšej funkcii:

times3 = out_multiply (3)
times5 = out_multiply (5)

Týmto premenným bude priradených viac hodnôt, ktoré sa uložia do súboru 'X' premenná definovaná vo vnútornej funkcii, ktorú je potrebné vynásobiť multiplikátorom 'n'. Keď tlačíme premennú s názvom „times“, funkciu s celočíselnou hodnotou 'X' priradený v zátvorke spôsobí, že sa hodnota násobí hodnotou vonkajšej funkcie 'n'.

Prvý bude výstup 27 pri vykonávaní tlačového výpisu, pretože premenná 'n' 3 ako multiplikátor a dali sme 9 ako ďalšie celé číslo, ktoré sa má vynásobiť.

tlač (krát 3 (9))

Druhá bude výstup 15 pri vykonávaní príkazu na tlač, pretože premenná 'n'3 ako multiplikátor a dali sme 5 ako ďalšie celé číslo, ktoré sa má vynásobiť.

tlač (krát5 (3))

Posledná bude výstup 30 pri spustení príkazu na tlač, pretože rekurzívne nazýval times to function variable. Prvýkrát, čas má 'n' majúce 3 ako multiplikátor, ktorý sa vynásobí na celé číslo 2. Pri násobení bude mať výstup 6. Teraz bude táto 6 použitá ako hodnota, potom odovzdaná ako argument do premennej funkcie times ', kde 'n' variabilný multiplikátor je 5. Takže keď 5 sa vynásobí 6 to bude výstup 30.

tlač (krát5 (krát3 (2)))

Výstup môžete vidieť v konzole editora Spyder.

Záver

Uzávery môžu zakázať používanie globálnych hodnôt a môžu mať určitú formu skrývania údajov. Mohlo by to tiež poskytnúť objektovo alebo subjektovo zameraný prístup k danej problematike. Dúfajme, že po vykonaní tejto príručky budete schopní získať základné informácie o ukončení Pythonu.

Kurzor pri písaní v systéme Windows 10 skáče alebo sa pohybuje náhodne
Ak zistíte, že kurzor myši skáče alebo sa pohybuje sám, automaticky a náhodne pri písaní na notebooku alebo počítači so systémom Windows, niektoré z t...
Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...