⊗pyPmFnSN 4 of 129 menu

Αποχρώσεις εργασίας με εμβέλειες ορατότητας στην Python

Ας εξετάσουμε τις σημαντικές αποχρώσεις εργασίας με τοπικές και καθολικές μεταβλητές.

Ας υποθέσουμε ότι έχουμε μια καθολική μεταβλητή num. Ας δημιουργήσουμε μια συνάρτηση func, που θα εμφανίζει την καθολική num στην κονσόλα:

num = 1 def func(): print(num) func() # θα εμφανίσει 1

Τώρα ας δηλώσουμε μια τοπική num στη γραμμή κάτω από τη συνάρτηση print. Μετά την εκτέλεση του κώδικα, στην κονσόλα θα εμφανιστεί σφάλμα. Αυτό συμβαίνει επειδή η Python μέσα στη συνάρτηση αντιλαμβάνεται την num μόνο ως τοπική μεταβλητή, που δεν έχει ακόμη δηλωθεί:

num = 1 def func(): print(num) # θα εμφανίσει σφάλμα num = 2

Ας ξαναγράψουμε τώρα τον κώδικα μέσα στη συνάρτηση έτσι ώστε η τιμή της μεταβλητής num να αυξηθεί κατά 2:

num = 1 def func(): num += 2 # θα εμφανίσει σφάλμα

Το σφάλμα προκαλείται από το γεγονός ότι η έκφραση num += 2 αντιπροσωπεύει την ακόλουθη εγγραφή:

num = num + 2

Ωστόσο, η ίδια η τοπική μεταβλητή, στην οποία προσθέτουμε, δεν έχει ακόμη δηλωθεί. Και κατά συνέπεια η Python εμφανίζει σφάλμα, αφού δεν μπορούμε να προσθέσουμε έναν αριθμό σε μια μη υπάρχουσα τιμή.

Ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:

tst = '12' def func(): tst = 12 return tst print(tst)

Ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:

tst = 'abc' def func(): tst = tst.upper() return tst func() print(tst)

Ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
Ελληνικά
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη