Найти в Дзене
Умно!

Python и Объектно Ориентированное Программирование

Если вы не знаете язык Python, то советуем перейти на первую статью по обучению языка Python.

Создание объектов (классов) производится ключевым словом class:

class Название:
переменные и/или функции

Давайте создадим класс Out с функцией hello:

class Out:
def hello():
print("hello")

И теперь вызовем эту функцию:

Out.hello()

Мы обращаемся в класс и вызываем их него функцию.

class Human:
def __init__(self, name, age):
self.name = name
self.age = age
John = Human("John", 23)

Мы создаем класс Human (человек) и создаем функцию __init__. Эта функция вызывается при вызове класса как функцию. В данной функции есть аргумент self, он нужен для того, чтобы использовать переменные самого объекта. Например:

class Human:
def __init__(self, name, age):
self.name = name
self.age = age
John = Human("John", 23)
Max = Human("Maxim", 21)
print(Max.name)
print(John.age)

Нам выведет две строки, в первой будет Maxim, а во второй будет 23. Давайте сделаем два класса:

class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def getname(self):
print(self.name)
class Wolf(Animal):
def Woof(self):
print("Волк "+self.name+" зарычал")

Мы создаем два класса Animal (Животное) и Wolf (Волк). Класс Wolf унаследует все из класса Animal (функции, переменные). Поэтому если мы пропишем:

wolfik = Wolf("Wolfik", 2)

Мы сможем использовать функцию getname из класса Animal, так как класс Wolf унаследует все из класса Animal:

wolfik.getname()

Вывод: Wolfik. Также используем функцию Woof:

wolfik.Woof()

Вывод: Волк Wolfik зарычал. Но если мы используем класс Animal:

pig = Animal("pigeon", 4)

И попробуем вызвать функцию Woof:

pig.Woof()

Будет ошибка, так как в классе Animal нету функции Woof. Насчет функции __init__(), таких функций много.

class Text:

self.txt = "Texts"

Obj = Text()

Будет ошибка, так как в классе нет инициализатора, функции __init__. В самом классе также ошибка, так как переменная self, возвращает объект инициализатор (тот, что использовал функцию __init__).

Вы изучили ООП в языке Python!

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Документы, вакансии и контакты