filmov
tv
3.08 Καθολικές-global Μεταβλητές

Показать описание
Python
Οι μεταβλητές με απεριόριστη εμβέλεια
δηλαδή αυτές που μπορούν να χρησιμοποιηθούν
σε οποιοδήποτε τμήμα προγράμματος ,
άσχετα με το που δηλώθηκαν
λέγονται καθολικές (global).
Για να ορίσω μια μεταβλητή ως καθολική, τη γράφω στην αρχή του προγράμματος
πριν από τις συναρτήσεις.
Με αυτόν τον τρόπο μπορεί να προσπελαστεί από οποιοδήποτε σημείο της συνάρτησης και του προγράμματος.
Τροποποιούμε τον κώδικα του προγράμματος με την προσθήκη μιας απλής εντολής ,
η οποία αυξάνει(μεταβάλλει) την τιμή της καθολικής μεταβλητής i κατά 2,
εκτός της συνάρτησης.
Τροποποιούμε ξανά τον κώδικα του προγράμματος με την προσθήκη ακομά μιας απλής εντολής ,
η οποία εκχωρεί στην τοπική μεταβλητή την τιμή 2 ,όχι στην καθολική (ΔΕΝ μεταβάλει την καθολική, ΑΛΛΑ μια τοπική μεταβλητή) .
Σφάλμα.
Μέσα στο σώμα της συνάρτησης έχει αρχικοποιηθεί (δηλωθεί) η τοπική μεταβλητή i με τιμή 2.
ενώ σε προηγούμενη εντολή εμφάνισης αναζητα αυτή τη μεταβλητή για να την εκτυπώσει.
Η καθολική μεταβλητη i
εκτός της συναρτησης είναι διαφορετική
από τη τοπική μεταβλητή i εντός της συνάρτησης.
Αν την αρχικοποίηση,
εντός της συνάρτησης,
την μεταφέραμε στην αρχή της συνάρτησης, τότε δεν θα είχαμε κανένα σφαλμα.
Eντολή Global
Με μια ειδίκη εντολή
global i,εντός της συνάρτησης,
η μεταβλητή i μετατρέπεται σε καθολική-global μεταβλητή.
Για να αλλάζει η τιμή της καθολικής μεταβλητής μέσα σε μια συνάρτηση θα πρέπει να χρησιμοποιηθεί
η εντολή global στο εσωτερικό της συνάρτησης,
έτσι ώστε να ΔΗΛΩΝΕΤΑΙ ότι η μεταβλητή είναι ΚΑΘΟΛΙΚΗ και όχι τοπική.
Με την εντολή global ΔΗΛΩΝΕΤΑΙ ότι μια μεταβλητή είναι καθολική, και όχι τοπική.
Πρώτα γράφουμε global και μετά το όνομα της μεταβλητής.
Οι τοπικές local έχουνε περιορισμένη (τοπική ) εμβέλεια .
Μπορούν να προσπελαστούν
μόνο σε μια συνάρτηση που δηλώθηκαν.
Οι τοπικές local σε μια συνάρτηση
δεν έχουν ισχύ(εξαφανίζονται)
αφού τελειώσει η εκτέλεση της συνάρτησης.
Οι καθολικές global
έχουνε απεριόριστη εμβέλεια .
Μπορούν να προσπελαστούν
από όλες τις συναρτήσεις.
Οι μεταβλητές με απεριόριστη εμβέλεια
δηλαδή αυτές που μπορούν να χρησιμοποιηθούν
σε οποιοδήποτε τμήμα προγράμματος ,
άσχετα με το που δηλώθηκαν
λέγονται καθολικές (global).
Για να ορίσω μια μεταβλητή ως καθολική, τη γράφω στην αρχή του προγράμματος
πριν από τις συναρτήσεις.
Με αυτόν τον τρόπο μπορεί να προσπελαστεί από οποιοδήποτε σημείο της συνάρτησης και του προγράμματος.
Τροποποιούμε τον κώδικα του προγράμματος με την προσθήκη μιας απλής εντολής ,
η οποία αυξάνει(μεταβάλλει) την τιμή της καθολικής μεταβλητής i κατά 2,
εκτός της συνάρτησης.
Τροποποιούμε ξανά τον κώδικα του προγράμματος με την προσθήκη ακομά μιας απλής εντολής ,
η οποία εκχωρεί στην τοπική μεταβλητή την τιμή 2 ,όχι στην καθολική (ΔΕΝ μεταβάλει την καθολική, ΑΛΛΑ μια τοπική μεταβλητή) .
Σφάλμα.
Μέσα στο σώμα της συνάρτησης έχει αρχικοποιηθεί (δηλωθεί) η τοπική μεταβλητή i με τιμή 2.
ενώ σε προηγούμενη εντολή εμφάνισης αναζητα αυτή τη μεταβλητή για να την εκτυπώσει.
Η καθολική μεταβλητη i
εκτός της συναρτησης είναι διαφορετική
από τη τοπική μεταβλητή i εντός της συνάρτησης.
Αν την αρχικοποίηση,
εντός της συνάρτησης,
την μεταφέραμε στην αρχή της συνάρτησης, τότε δεν θα είχαμε κανένα σφαλμα.
Eντολή Global
Με μια ειδίκη εντολή
global i,εντός της συνάρτησης,
η μεταβλητή i μετατρέπεται σε καθολική-global μεταβλητή.
Για να αλλάζει η τιμή της καθολικής μεταβλητής μέσα σε μια συνάρτηση θα πρέπει να χρησιμοποιηθεί
η εντολή global στο εσωτερικό της συνάρτησης,
έτσι ώστε να ΔΗΛΩΝΕΤΑΙ ότι η μεταβλητή είναι ΚΑΘΟΛΙΚΗ και όχι τοπική.
Με την εντολή global ΔΗΛΩΝΕΤΑΙ ότι μια μεταβλητή είναι καθολική, και όχι τοπική.
Πρώτα γράφουμε global και μετά το όνομα της μεταβλητής.
Οι τοπικές local έχουνε περιορισμένη (τοπική ) εμβέλεια .
Μπορούν να προσπελαστούν
μόνο σε μια συνάρτηση που δηλώθηκαν.
Οι τοπικές local σε μια συνάρτηση
δεν έχουν ισχύ(εξαφανίζονται)
αφού τελειώσει η εκτέλεση της συνάρτησης.
Οι καθολικές global
έχουνε απεριόριστη εμβέλεια .
Μπορούν να προσπελαστούν
από όλες τις συναρτήσεις.