Чтобы понять Классы в Python – давайте начнем с понимания сущностей. Сущности – это слово, которое используется, чтобы описать что-то, что существует или является реальным объектом, и может быть названо и описано. В простых словах, сущности – это вещи, которые можно увидеть, потрогать или описать.
Мы все с Вами знаем, что есть веши кокретные: моя собака Лакки, а есть вещи абстрактные: животные, собаки.
В программировании для определения и работы с сущностями существуют классы. Классы позволяют абстрагировать реальные объекты и описывать их характеристики и действия.
Классы в программировании – это специальные инструменты, которые помогают нам описывать сущности и их свойства. Классы позволяют нам определить, какие атрибуты (свойства) имеет сущность, и какие действия она может выполнять.
Также справедливым будет добавить что:
age может хранить конкретное значение возраста, а переменная name может хранить конкретное имя. Переменные представляют конкретные значения.Таким образом, переменные представляют конкретные данные, в то время как классы представляют абстрактные структуры для создания объектов. Классы позволяют организовать и абстрагировать код, делая его более гибким и повторно используемым.
Классы – это своего рода шаблон для создания объектов.
Рассмотрим все на конктретном примере.
Давайте рассмотрим пример класса на понятном примере – животных.
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def make_sound(self, sound):
return f"{self.name} издает звук: {sound}" В этом классе Animal у нас есть два атрибута:
name (имя животного)
species (вид животного),
и один метод make_sound (делать звук). Конкретный звук мы будем передавать через переменную sound. Рассмотрим подробнее
Атрибуты класса – это переменные, которые описывают характеристики объекта, созданного на основе класса. Они определяются внутри класса и могут быть общими для всех экземпляров класса.
Для определения атрибута класса, вы можете использовать ключевое слово self внутри метода __init__ (конструктор), который вызывается при создании экземпляра класса.
__init____init__ – это конструктор класса в Python. Конструктор – это метод, который вызывается при создании нового экземпляра класса. Он используется для инициализации атрибутов объекта, задания начальных значений и выполнения других операций, необходимых при создании объекта.
То есть с помощью этого методы мы добавляем все характеристики класса
__init__Ключевое слово __init__ имеет два подчеркивания в начале и в конце, чтобы указать, что это специальный метод Python. Этот метод автоматически вызывается при создании нового объекта на основе класса.
Внутри метода __init__, вы можете определить атрибуты (характеристики) объекта, которые будут хранить информацию о состоянии объекта.
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species В нашем примере у любого животного есть 2 общие характеристики для все. Это название и звук, который животное издает.
Конструктор позволяет задать начальное состояние объекта и, таким образом, облегчает создание экземпляров класса с определенными значениями атрибутов.
Важно отметить, что конструктор __init__ не является обязательным, но он очень полезен при работе с классами, чтобы обеспечить правильную инициализацию объектов.
Методы класса – это функции, которые выполняют определенные действия над объектами, созданными на основе класса. Они также определяются внутри класса. Методы принимают self в качестве первого аргумента, чтобы иметь доступ к атрибутам объекта. То есть, если вы создаете функции внутри класса, всегда ставьте первым аргуменстом self.
def make_sound(self, sound):
return f"{self.name} издает звук: {sound}" Экземпляр класса (или объект) в Python – это конкретное представление (или инстанция) класса. Это означает, что когда вы создаете экземпляр класса, вы создаете конкретный объект, который имеет свои уникальные значения атрибутов и может вызывать методы, определенные в классе.
То есть в нашем примере, когда создается экземпляр класса – вы создаете конктретное животное с его собственным именем.
Давайте создадим 2 конктреных животных, используя класс Animal:
dog = Animal("Бобик", "Собака")
cat = Animal("Мурка", "Кошка")
Каждое животное имеет своё имя и вид. Например, “Бобик” – это собака, а “Мурка” – кошка.
Методы – это действия, которые объекты могут выполнять.
В классе Animal есть метод make_sound. С его помощью мы можем обозначить какие звучи издает наше конктретнотное животное.
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def make_sound(self, sound):
return f"{self.name} издает звук: {sound}" Теперь каждое животное может делать звуки. Например:
print(dog.make_sound("Гав-гав!")) # Выведет "Бобик издает звук: Гав-гав!"
print(cat.make_sound("Мяу!")) # Выведет "Мурка издает звук: Мяу!" Родительский класс (или суперкласс) в программировании относится к классу, который является базовым для других классов, называемых дочерними классами (или подклассами). Родительский класс определяет общие характеристики и методы, которые наследуются дочерними классами.
В нашем примере мы может определить Animal как родительский класс. И кошки и собаки это животные.
А такде добавить дочерние классы Dog и Cat. При этом все дочерние классы будут наследовать атрибуты и методы Animal и не жуно будет их снова прописывать.
Для более наглядного понимания, рассмотрим пример:
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def make_sound(self, sound):
return f"{self.name} издает звук: {sound}"
class Dog(Animal):
def wag_tail(self):
return f"{self.name} виляет хвостом"
class Cat(Animal):
def purr(self):
return f"{self.name} мурлычет"
В этом примере:
Animal – это родительский класс, который определяет общие характеристики и методы для всех животных.Dog и Cat – это дочерние классы, которые наследуют атрибуты и методы от родительского класса Animal.Дочерние классы (Dog и Cat) могут также иметь свои собственные методы, которые специфичны для каждого вида животных.
Итак, родительский класс – это класс, который предоставляет общие характеристики и методы, а дочерние классы могут расширять и дополнять функциональность, наследуя базовые черты от родительского класса.
Классы в Python – это мощный инструмент, который позволяет нам организовать и структурировать код. Они позволяют создавать объекты, которые могут представлять реальные вещи и выполнять различные действия.
Теперь вы знаете, что такое классы и как их использовать!
Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More
Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More
Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More
Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More
Установка PostgreSQL на сервер Read More
Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More