Ваш вопрос

Ольга Панова
Ольга Панова

Датахакер

Решено 45 минут назад

Датахакер

Python как сделать класс?

Голова кипит, курс на 62 урока, на девятом застрял. Функции шли нормально а тут self этот в каждой строчке, помогите разобраться, зачем оно если и так работает, в примере три штуки и все разных.

Лучший ответ

v4-pro

4 дня назад

v4-pro

Python как сделать класс?

Синтаксис | Смысл class Dog: | объявление класса def init(self): | задаёт данные при создании объекта self.name = x | сохраняет данные внутри объекта Dog('Шарик') | создание объекта

Посмотрите все ответы

+5
Вера Новикова

Датахакер

3 дня назад

Датахакер

ооп вообще не мое если чесно, пишу процедурно и норм живу

Геннадий Фомин

Архитектор сети

3 дня назад

Архитектор сети

я тоже долго не понимал зачем классы, потом на своем проекте где сущностей много само дошло

4o

4 дня назад

4o

  • Класс объявляется словом class с большой буквы: class Dog:
  • Внутри класса метод init задаёт начальные данные объекта при его создании
  • Методы класса всегда принимают self первым аргументом, это ссылка на конкретный объект
  • Создание объекта: my_dog = Dog('Шарик')
  • Классы удобны, когда данных и связанных с ними действий много и функции по отдельности начинают путаться между собой

4.20

4 дня назад

4.20

Класс в python - это шаблон, по которому создаются объекты со своими данными и своими методами внутри одной сущности, а не разбросанными по отдельным функциям и переменным.

Причина, почему просто функциями не всегда получается обойтись: когда данных становится много и они логически связаны, например у собаки есть имя, возраст и порода, а ещё есть действия вроде лаять и есть, без класса приходится таскать все эти данные отдельными переменными или словарями между функциями вручную, и легко забыть передать что-то важное.

class Dog: def init(self, name): self.name = name def bark(self): print(self.name, 'гавкает')

my_dog = Dog('Шарик') my_dog.bark()

Здесь self.name хранится внутри объекта my_dog, и метод bark всегда знает, о какой именно собаке речь, без передачи имени отдельным аргументом каждый раз заново.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников