Классы и объекты в Python с примерами

В этом уроке вы узнаете о классах и объектах Python, а также о том, как определить новый класс.

Содержание

Объекты в Python

Объект в Python — это контейнер, содержащий данные и функциональные возможности.

Данные представляют объект в определенный момент времени. Поэтому данные объекта называются состоянием. Python использует атрибуты для моделирования состояния объекта. Функциональность представляет поведение объекта. Python использует функции для моделирования поведения. Когда функция связана с объектом, она становится методом объекта.

Другими словами, объект — это контейнер, содержащий состояние и методы. Прежде чем создавать объекты, вы сначала определяете класс. И из класса вы можете создать один или несколько объектов. Объекты класса также называются экземплярами класса.

Как определить класс?

Чтобы определить класс в Python, вы используете ключевое слово class, за которым следует имя класса и двоеточие. В следующем примере определяется класс Person:

class Person:
    pass

По соглашению вы используете имена классов в Python, написанные с заглавной буквы. Если имя класса содержит несколько слов, вы используете формат CamelCase, например SalesEmployee.

Поскольку класс Person неполон, вам нужно использовать оператор pass, чтобы указать, что вы добавите к нему дополнительный код позже.

Чтобы создать экземпляр класса, вы используете имя класса в круглых скобках, например:

person = Person()

При распечатке объекта person вы увидите его имя и адрес памяти:

class Person:
    pass


print(person)

Выход:

<__main__.Person object at 0x000001C46D1C47F0>

Чтобы получить идентификатор объекта, вы используете функцию id(). Например:

print(id(person))

Выход:

1943155787760

Идентификатор объекта уникален. В CPython id() возвращает адрес объекта в памяти. Функция hex() преобразует целое число, возвращаемое функцией id(), в шестнадцатеричную строку нижнего регистра с префиксом 0x:

print(hex(id(person)))

Выход:

0x1c46d1c47f0

Объект person является экземпляром класса Person. Функция isinstance() возвращает True, если объект является экземпляром класса:

print(isinstance(person, Person))  # True

Класс также является объектом в Python

Все в Python является объектом, включая классы.

Когда вы определяете класс Person, Python создает объект с именем Person. Объект Person имеет атрибуты. Например, вы можете найти его имя, используя атрибут __name__:

print(Person.__name__)

Выход:

Person

Объект Person имеет тип type:

print(type(Person))

Выход:

<class 'type'>

Класс Person также имеет поведение. Например, он может создать новый экземпляр:

person = Person()
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *