Функция Python hasattr()

Python3 内置函数Встроенные функции Python3


hasattr()Это встроенная функция в Python, используемая для проверки наличия у объекта указанного атрибута.

hasattr()Он возвращает логическое значение, указывающее, содержит ли объект указанный атрибут. Это очень полезно при работе с динамическими атрибутами или когда вам нужно сначала проверить, существует ли атрибут.

Определения слов: hasattr 是 has attribute(有属性)的缩写。


Базовый синтаксис и параметры

Формат синтаксиса

hasattr(object, name)

Описание параметра

  • Параметр object:
    • Тип: любой объект
    • Описание: объект для проверки.
  • Имя параметра:
    • Тип: String
    • Описание: Имя атрибута.

Описание функций

  • Возвращаемое значение: Возвращает логическое значениеTrueилиFalse。

Примеры

Пример 1: Базовое использование

Пример

class Person:
    def __init__(self):
        self.name = "Tom"
        self.age = 20

p = Person()

# Проверить, существует ли атрибут
print(hasattr(p, "name"))    # Вывод: True
print(hasattr(p, "age"))     # Вывод: True
print(hasattr(p, "gender"))  # Вывод: False

# Проверить метод
print(hasattr(p, "name"))          # Вывод: True
print(hasattr(p, "walk"))          # Вывод: False

Ожидаемый вывод:

True
True
False
True
False

Пояснение кода:

  1. hasattr() проверяет, имеет ли объект указанный атрибут.

Пример 2: Работа с getattr

Пример

# Безопасно получить атрибут
class Config:
    def __init__(self):
        self.debug = True
        self.port = 8080

config = Config()

# Сначала проверить, затем получить
if hasattr(config, "debug"):
    print(f"debug: {config.debug}")

if hasattr(config, "timeout"):
    print(f"timeout: {config.timeout}")
else:
    print("timeout не существует, используется значение по умолчанию")
    # Вывод: timeout не существует, используется значение по умолчанию

# Динамическая проверка
attrs = ["debug", "port", "host"]
for attr in attrs:
    if hasattr(config, attr):
        print(f"{attr}: {getattr(config, attr)}")

Вывод:

При запуске в реальной среде будет отображаться результат проверки.

hasattr()Часто используется сgetattr()в сочетании с.


Python3 内置函数Встроенные функции Python3


Другие расширения