⊗pyPmFnIFN 22 of 129 menu

Αποχρώσεις στην εργασία με εσωτερικές συναρτήσεις στην Python

Στην Python μπορούν να υπάρχουν όχι μόνο ένθετες συναρτήσεις, αλλά και μια συνάρτηση μπορεί να επιστρέφει μια άλλη. Για παράδειγμα, ας υποθέσουμε ότι η συνάρτηση outer επιστρέφει ως αποτέλεσμα τον πηγαίο κώδικα της συνάρτησης inner:

def outer(): def inner(): return '+++' return inner

Ας γράψουμε την κλήση outer σε μια μεταβλητή res:

res = outer() print(res)

Μετά την εκτέλεση του κώδικα, θα εμφανιστεί ένα αντικείμενο με τη συνάρτηση:

<function outer.<locals>.inner at 0x000001564A212B90>

Εάν καλέσουμε τη μεταβλητή res με γωνιώδεις αγκύλες, θα επιστραφεί το μήνυμα '+++':

print(res()) # θα εκτυπώσει '+++'

Μπορούμε να ξαναγράψουμε τον κώδικα έτσι ώστε στο res να γράφεται η outer με δύο ζεύγη γωνιωδών αγκύλων - για την κλήση της ίδιας της συνάρτησης και της συνάρτησης inner. Από αυτό προκύπτει ότι μπορούμε να γράφουμε επιπλέον γωνιώδεις αγκύλες δεξιά από την εξωτερική συνάρτηση ανάλογα με τον αριθμό των ένθετων συναρτήσεων σε αυτήν:

res = outer()() print(res) # θα εκτυπώσει '+++'

Δίνεται ο ακόλουθος κώδικας:

def outer(): def inner(num): return num + 2 return inner res = outer()(3) print(res)

Πείτε τι θα εκτυπωθεί στην κονσόλα.

Δίνεται ο ακόλουθος κώδικας:

def outer(): def inner(txt): return 'hello, ' + txt return inner res = outer() print(res)

Πείτε τι θα εκτυπωθεί στην κονσόλα.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη