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()
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()
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()
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