**ООП** – парадигма программирования в которой все объекты представляются в виде экземпляров классов. Каждый класс обладает своими атрибутами и методами. **Атрибуты** - данные, характеризующие класс. **Методы** - функции, которые экземпляр класса может выполнять. С помощью методов можно влиять на атрибуты классов. ```python class Human: name = 'human' age = 0 sex = "male" def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def info(self): print("Name:", self.name) print("Age:", self.age) print("Sex:", self.sex) def Speak(self): print(f"Hello, i'm {self.name}") kirill = Human(name="kirill", age=17, sex="male") katya = Human(name='Kate', age=18, sex="female") ``` ## Наследование в ООП **Наследование** в ООП это концепция, позволяющая классу, наследовать атрибуты и методы от другого класса. ![[th-1161040066.jpg]] ```python class Human(): def __init__(self): self.health = 100; self.strenth = 100; self.brain = 100; self.money = 0 class Student(Human): Human.health = 70 Human.money = 0 Human.brain = -10 Human.strenth = 70 student1 = Student() print(student1.brain) ``` ### Перегрузка операторов **Перегрузка операторов** - возможность определять собственное поведение для стандартных операторов языка python при работе с объектами пользовательских классов.