Автор оригинала: 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.