Πώς να ελέγξετε εάν υπάρχει μια μεταβλητή στην Python

Σήμερα, θα δούμε πώς να ελέγξουμε αν υπάρχει ή όχι μια μεταβλητή. Στην Python, μια μεταβλητή μπορεί να οριστεί είτε καθολικά είτε τοπικά.

Εάν μια μεταβλητή ορίζεται μέσα σε μια συνάρτηση, τότε έχει τοπικό πεδίο εφαρμογής. Διαφορετικά (που ορίζεται εκτός οποιασδήποτε συνάρτησης), έχει παγκόσμια εμβέλεια. Ας δούμε πώς να ελέγξουμε την ύπαρξή τους ένα προς ένα.



Ύπαρξη τοπικής μεταβλητής

Θα χρησιμοποιήσουμε το ντόπιοι () μέθοδος για να δείτε εάν μια μεταβλητή υπάρχει τοπικά. ο ντόπιοι () Η μέθοδος επιστρέφει ένα λεξικό των τοπικών μεταβλητών του τρέχοντος πεδίου. Ας πάρουμε ένα παράδειγμα.

summ=4
def test(c):
  a = 3
  b = 4
  result = a + b + c
  if 'result' in locals():
    print("The result variable exists in the local scope. Value is:", result)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
  if 'summ' in locals():
    print("The summ variable exists in the local scope. Value is:", summ)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
test(4)

The result variable exists in the local scope. Value is: 11
Sorry, the variable does not exist in the local scope.

Στο παραπάνω παράδειγμα, δημιουργούμε ένα δοκιμή() λειτουργία. Υπολογίζει το άθροισμα τριών τιμών και το αποθηκεύει στο αποτέλεσμα μεταβλητός.

Στη συνέχεια, ελέγχει εάν αποτέλεσμα υπάρχει στην τοπική εμβέλεια ή όχι. Εφόσον συμβαίνει, η κατάσταση αξιολογείται Αληθής και εκτελείται η δήλωση στο μπλοκ if.

ο άθροισμα η μεταβλητή, από την άλλη πλευρά, δεν είναι τοπική. Επομένως, η συνθήκη του εάν αξιολογείται σε Ψευδής .

Ύπαρξη καθολικής μεταβλητής

Για να ελέγξουμε εάν υπάρχει μια καθολική μεταβλητή, θα χρησιμοποιήσουμε το παγκόσμιοι () μέθοδος. Επιστρέφει ένα λεξικό που περιέχει τις καθολικές μεταβλητές του τρέχοντος πεδίου. Ας πάρουμε ένα παράδειγμα.

summ=4
def test(c):
  a = 3
  b = 4
  result = a + b + c
  if 'result' in globals():
    print("The result variable exists in the local scope. Value is:", result)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
  if 'summ' in globals():
    print("The summ variable exists in the local scope. Value is:", summ)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
test(4)

Παραγωγή

Sorry, the variable does not exist in the local scope.
The summ variable exists in the local scope. Value is: 4

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