Acceso a atributos y métodos en Python

Los atributos de una clase son objetos de función que definen los métodos correspondientes de sus instancias. Se utilizan para implementar controles de acceso de las clases.
También se puede acceder a los atributos de una clase utilizando los siguientes métodos y funciones integrados:

  1. getattr(): esta función se utiliza para acceder al atributo del objeto.
  2. hasattr(): esta función se utiliza para comprobar si existe o no un atributo.
  3. setattr(): esta función se utiliza para establecer un atributo. Si el atributo no existe, entonces se crearía.
  4. delattr(): esta función se utiliza para eliminar un atributo. Si está accediendo al atributo después de eliminarlo, aparece el error «la clase no tiene atributo».

Los siguientes métodos se explican con el ejemplo que se da a continuación:

# Python code for accessing attributes of class 
class emp: 
    name='Harsh'
    salary='25000'
    def show(self): 
        print (self.name) 
        print (self.salary) 
e1 = emp() 
# Use getattr instead of e1.name 
print (getattr(e1,'name')) 
  
# returns true if object has attribute 
print (hasattr(e1,'name')) 
  
# sets an attribute 
setattr(e1,'height',152) 
  
# returns the value of attribute name height 
print (getattr(e1,'height')) 
  
# delete the attribute 
delattr(emp,'salary') 

Producción :

Harsh
True
152

Métodos estáticos: un método estático es un método [función miembro] que no usa argumentos propios en absoluto. Para declarar un método estático, proceda con la declaración «@staticmethod».

# Python code for accessing methods using static method 
class test: 
    @staticmethod
    def square(x): 
        test.result = x*x 
  
# object 1 for class 
t1=test() 
  
# object 2 for class 
t2 = test() 
t1.square(2) 
  
# printing result for square(2) 
print (t1.result) 
t2.square(3) 
  
# printing result for square(3) 
print (t2.result) 
  
# printing the last value of result as we declared the method static 
print (t1.result) 

Producción :

4
9
9

Acceder a atributos y métodos de una clase en otra clase

El acceso a los atributos y métodos de una clase en otra clase se realiza pasando el objeto de una clase a otra.
Explicado con el ejemplo que se muestra a continuación:

# Python code for Accessing attributes and methods 
# of one class in another class 
  
class ClassA(): 
    def __init__(self): 
        self.var1 = 1
        self.var2 = 2
  
    def methodA(self): 
        self.var1 = self.var1 + self.var2 
        return self.var1 
  
class ClassB(ClassA): 
    def __init__(self, class_a): 
        self.var1 = class_a.var1 
        self.var2 = class_a.var2 
  
object1 = ClassA() 
# updates the value of var1 
summ = object1.methodA() 
  
# return the value of var1 
print (summ) 
  
# passes object of classA 
object2 = ClassB(object1) 
  
# return the values carried by var1,var2 
print( object2.var1)
print (object2.var2) 

Producción :

3
3
2

Publicación traducida automáticamente

Artículo escrito por It_Wasnt_Me 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 *