Рубрики

Доступ к атрибутам и методам в Python

Атрибуты класса являются функциональными объектами, которые определяют соответствующие методы его экземпляров. Они используются для реализации контроля доступа классов.
Атрибуты класса также могут быть доступны с помощью следующих встроенных методов и функций:

  1. getattr () — эта функция используется для доступа к атрибуту объекта.
  2. hasattr () — эта функция используется для проверки существования атрибута или нет.
  3. setattr () — эта функция используется для установки атрибута. Если атрибут не существует, он будет создан.
  4. delattr () — эта функция используется для удаления атрибута. Если вы обращаетесь к атрибуту после удаления, возникает ошибка «У класса нет атрибута».

Следующие методы объясняются с помощью примера, приведенного ниже:

# Python-код для доступа к атрибутам класса

class emp:

    name='Harsh'

    salary='25000'

    def show(self):

        print self.name

        print self.salary

e1 = emp()

# Используйте getattr вместо e1.name

print getattr(e1,'name')

  
# возвращает true, если объект имеет атрибут

print hasattr(e1,'name')

  
# устанавливает атрибут

setattr(e1,'height',152)

  
# возвращает значение высоты имени атрибута

print getattr(e1,'height')

  
# удалить атрибут

delattr(emp,'salary')

Выход :

Harsh
True
152

Статические методы: Статический метод — это метод [функция-член], который вообще не использует аргумент self. Чтобы объявить статический метод, добавьте к нему оператор «@staticmethod».

# Python-код для доступа к методам с использованием статического метода

class test:

    @staticmethod

    def square(x):

        test.result = x*x

  
# объект 1 для класса

t1=test()

  
# объект 2 для класса

t2 = test()

t1.square(2)

  
# результат печати для квадрата (2)

print t1.result

t2.square(3)

  
# результат печати для квадрата (3)

print t2.result

  
# печать последнего значения результата, поскольку мы объявили метод статическим

print t1.result

Выход :

4
9
9

Доступ к атрибутам и методам одного класса в другом классе

Доступ к атрибутам и методам одного класса в другом классе осуществляется путем передачи объекта одного класса другому.
Поясняется с примером, приведенным ниже:

# Python-код для доступа к атрибутам и методам
# одного класса в другом классе

  

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

# обновляет значение var1

summ = object1.methodA()

  
# вернуть значение var1

print summ

  
# передает объект класса A

object2 = ClassB(object1)

  
# вернуть значения, переносимые var1, var2

print object2.var1

print object2.var2

Выход :

3
3
2

Рекомендуемые посты:

Доступ к атрибутам и методам в Python

0.00 (0%) 0 votes