Рубрики
Без рубрики

Как использовать метод Python Hasattr ()?

Эй, читатели! В этой статье мы подробно расследуем поведение метода Python Hasattr ().

Автор оригинала: Pankaj Kumar.

Как использовать метод Python Hasattr ()?

Эй, читатели! В этой статье мы подробно расследуем поведение метода Python Hasattr ().

Нужен метод Python Hasattr ()

В мире объектно-ориентированного программирования мы имеем дело с представлением или сопоставлением реальных сценариев к занятиям и объектам. Объекты можно рассматривать как план класса, который изображает атрибуты и его поведение.

Время от времени мы можем столкнуться с ситуациями, когда нам нужно проверить наличие атрибута, занятого или содержащегося классом. То же самое можно достичь через метод Python Hasattr (). Это помогает при проверке наличия атрибута в классе.

Теперь, когда мы поняли необходимость и происхождение метода Python Hasattr (), давайте понять работу того же.

Работа метода Python Hasattr ()

Класс Python представляет атрибуты и его поведение через объект.

Hasattr () Метод используется для проверки наличия атрибута в классе.

hasattr(Class, attribute)

Метод hasattr () Возвращает логическое значение I.e. либо Правда или Ложь В зависимости от наличия атрибута в классе.

Пример 1:

class Info:
  name = "JournalDev"
  lang = "Python"
  site = "Google"
print(hasattr(Info, 'lang'))

В приведенном выше примере атрибут «Lang» содержится классом «информация». Таким образом, функция Hasattr () возвращает Правда Отказ

Выход:

True

Пример 2:

class Info:
  name = "JournalDev"
  lang = "Python"
  site = "Google"
print(hasattr(Info, 'date'))

Как видно в приведенном выше примере, функция hasattr () возвращает false, потому что «дата даты атрибута» не определена в классе.

Выход:

False

Python 2 Hasattr () Метод V/S Python 3 Hasattr () Метод

В Python 2 Hasattr () заполнит все исключения и возвращает false для условия.

Например, если данный атрибут «A» содержится классом, но озабочен некоторыми исключениями. На данный момент Hasattr () пренебрегает всеми исключениями и вернет ложь, даже если атрибут «A» происходит, чтобы существовать в классе.

С другой стороны, в Python 3 Hasattr () повышает исключение, если атрибут участвует в некоторых исключительных критериях.

Пример: Python 2 с функцией hasattr ()

class Info(object):
     @property
     def hey(self):
         raise SyntaxError
     def say(self):
         raise SyntaxError
obj = Info()

print(hasattr(obj,'hey'))
print(hasattr(obj,'say'))

В приведенном выше коде, несмотря на ошибку синтаксиса из-за декоратора, метод HASATTR () не поднимает никаких ошибок и не пренебрегает исключением и возвращает false, даже если класс случается, содержит этот конкретный атрибут.

Выход:

False
True

Пример: Python 3 с функцией hasattr ()

В следующем коде функция HASATTR () повышает ошибку исключения для причина ошибки синтаксиса с атрибутом «Hey».

class Info(object):
     @property
     def hey(self):
         raise SyntaxError
     def say(self):
         raise SyntaxError
obj = Info()

print(hasattr(obj,'hey'))
print(hasattr(obj,'say'))

Выход:

Traceback (most recent call last):

  File "c:\users\hp\appdata\local\programs\python\python36\lib\site-packages\IPython\core\interactiveshell.py", line 3319, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "", line 9, in 
    print(hasattr(obj,'hey'))

  File "", line 4, in hey
    raise SyntaxError

  File "", line unknown
SyntaxError

Заключение

Таким образом, в этой статье мы поняли работу Python Hasattr () с помощью Python версии 2 и 3.

использованная литература