Python | Uso de variables fuera y dentro de la clase y el método.

En Python, podemos definir la variable fuera de la clase, dentro de la clase e incluso dentro de los métodos. Veamos cómo usar y acceder a estas variables a lo largo del programa.

Variable definida fuera de la clase:

Cualquier clase o cualquier método de la clase puede acceder a las variables que se definen fuera de la clase simplemente escribiendo el nombre de la variable.

# Program to demonstrate 'Variable 
# defined outside the class'
  
# Variable defined outside the class.
outVar = 'outside_class'    
print("Outside_class1", outVar)
  
''' Class one '''
class Geek:
    print("Outside_class2", outVar)
  
    def access_method(self):
        print("Outside_class3", outVar)
  
# Calling method by creating object
uac = Geek()
uac.access_method()
  
''' Class two '''
class Another_Geek_class:
    print("Outside_class4", outVar) 
  
    def another_access_method(self):
        print("Outside_class5", outVar)
  
# Calling method by creating object
uaac = Another_Geek_class()
uaac.another_access_method()
Producción:

Outside_class1 outside_class
Outside_class2 outside_class
Outside_class3 outside_class
Outside_class4 outside_class
Outside_class5 outside_class

 
Variable definida dentro de la clase:

Se puede acceder a las variables que se definen dentro de la clase pero fuera del método dentro de la clase (incluidos todos los métodos) utilizando la instancia de una clase. Por ejemplo, self.var_name.
Si desea usar esa variable incluso fuera de la clase, debe declarar esa variable como global . Entonces se puede acceder a la variable usando su nombre dentro y fuera de la clase y no usando la instancia de la clase.

# Program to demonstrate 'Variable 
# defined inside the class'
  
# print("Inside_class1", inVar) # Error
  
''' Class one'''
class Geek:
  
    # Variable defined inside the class.
    inVar = 'inside_class'
    print("Inside_class2", inVar)
  
    def access_method(self):
        print("Inside_class3", self.inVar)
  
uac = Geek()
uac.access_method()
  
''' Class two '''
class another_Geek_class:
    print()
# print("Inside_class4", inVar) # Error
  
    def another_access_method(self):
        print()
# print("Inside_class5", inVar) # Error
  
uaac = another_Geek_class()
uaac.another_access_method()
Producción:

Inside_class2 inside_class
Inside_class3 inside_class

Las declaraciones que están marcadas como error producirán un error en la ejecución ya que la variable no es accesible allí.

 
Variable definida dentro del método:

Se puede acceder a las variables que se definen dentro de los métodos dentro de ese método simplemente usando el nombre de la variable. Ejemplo: nombre_var.
Si desea usar esa variable fuera del método o la clase, debe declarar esa variable como global .

# Program to demonstrate 'Variable 
# defined inside the method'
  
# print("Inside_method1", inVar) # Error
  
'''class one'''
class Geek:
    print()
# print("Inside_method2", inVar) # Error
  
    def access_method(self):
  
        # Variable defined inside the method.
        inVar = 'inside_method'
        print("Inside_method3", inVar)
  
uac = Geek()
uac.access_method()
  
'''class two'''
class AnotherGeek:
    print()
# print("Inside_method4", inVar) # Error
  
    def access_method(self):
        print()
# print("Inside_method5", inVar) # Error
  
uaac = AnotherGeek()
uaac.access_method()
Producción:

Inside_method3 inside_method

Las declaraciones que están marcadas como error producirán un error al ejecutarse, ya que no se puede acceder a la variable allí.

Resumen:

Publicación traducida automáticamente

Artículo escrito por Ankita_Shingre y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *