PyGuide

Классы

Классы в Python

Что такое класс

Класс — это шаблон или «чертёж» для создания объектов. Он объединяет данные (атрибуты) и функции (методы), которые работают с этими данными.

Создание класса

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

__init__ — это конструктор, который выполняется при создании объекта. self — ссылка на сам объект.

Создание объекта (экземпляра класса)

person1 = Person("Иван", 25)
person2 = Person("Анна", 22)

Доступ к атрибутам

print(person1.name)
print(person2.age)

Через объект можно получить или изменить атрибуты.

Методы класса

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print("Привет, меня зовут " + self.name)

person = Person("Иван", 25)
person.greet()

Методы — это функции внутри класса. Их вызывают через объект.

Наследование

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

student = Student("Пётр", 20, "10 класс")
print(student.name)
print(student.grade)

Наследование позволяет создавать новый класс на основе существующего, добавляя новые атрибуты или методы.

Переопределение методов

class Student(Person):
    def greet(self):
        print("Я студент, меня зовут " + self.name)

student = Student("Анна", 18, "9 класс")
student.greet()

Можно изменить поведение метода, унаследованного от родительского класса.

Приватные атрибуты

class Person:
    def __init__(self, name):
        self.__name = name  # приватный атрибут

    def get_name(self):
        return self.__name

p = Person("Иван")
print(p.get_name())

Атрибуты с двойным подчёркиванием __ считаются приватными — их нельзя менять напрямую.