Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: attribute, class

Какие атрибуты могут быть у классов в Python?

Вопрос проверяет понимание структуры объектов и различий между типами атрибутов.

Короткий ответ

В Python есть атрибуты класса и атрибуты экземпляра. Атрибуты класса общие для всех объектов, а атрибуты экземпляра принадлежат конкретному объекту. Также существуют свойства (property), вычисляемые атрибуты и служебные атрибуты. Все они доступны через точку.

Длинный ответ

В Python атрибут — это любое значение, связанное с объектом или классом.

Определение:
Атрибут — это переменная или метод, доступный через объект или класс.

1. Атрибуты класса

Общие для всех экземпляров.

Пример:

class User:
    role = "guest"

Все объекты будут иметь это значение, пока оно не переопределено.

2. Атрибуты экземпляра

Создаются в __init__.

class User:
    def __init__(self, name):
        self.name = name

Каждый объект имеет собственное значение.

3. Методы как атрибуты

Методы тоже являются атрибутами класса:

User.__dict__

Можно увидеть список атрибутов.

4. Свойства (property)

Позволяют вычислять значение при обращении.

class Circle:
    def __init__(self, r):
        self.r = r

    @property
    def area(self):
        return 3.14 * self.r * self.r

Это выглядит как атрибут, но выполняется код.

5. Служебные атрибуты

Например:

  1. __dict__

  2. __class__

  3. __name__

Они используются интерпретатором.

Вывод

У классов могут быть атрибуты класса, экземпляра, методы, свойства и служебные атрибуты. Понимание их различий важно для правильного проектирования классов.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#attribute

#class

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.