May 9, 2023

Classes in Python

1. В Python можно создать классы, присвоить им аттрибуты и методы и затем на основе созданного класса создавать экземпляры классов.

class Car:   # так создается класс

    wheels_number = 4  # так создается глобальная переменная
                       # ниже идет определение атрибутов класса 

    def __init__(self, name, color, year, is_crashed):
        self.name = name
        self.color = color
        self.year = year
        self.is_crashed = is_crashed

2. Чтобы создать экземпляр класса, следует переменной присвоить значение класса с указанием значений аттрибутов.

mazda_car = Car(name='Mazda CX7', color='red', year=2017, is_crashed=True)

3. При выводе на печать, следует использовать точку и указание аттрибута:

print(mazda_car.name)
print(mazda_car.is_crashed)
print(mazda_car.wheels_number)

Mazda CX7
True
4

4. Также можно присваивать другие значения атрибутам, например, можно поменять цвет. Просто присвоением нового значения атрибуту:

print(f'color was {mazda_car.color}')
mazda_car.color='black'
print (f'color now is {mazda_car.color}')

color was red
color now is black

Методы

5. Также можно создавать методы классы. Создание метода происходит также как создание функции:

class Circle:
    pi = 3.14

    def __init__(self, radius=1):
        self.radius = radius
        self.circumference = 2 * Circle.pi * self.radius

    def get_area(self):
        return self.pi * (self.radius ** 2)

Выводим результаты через команду print:

circle_1 = Circle(5)
print(circle_1.get_area())
print(circle_1.circumference)
#print(circle_1.get_circumference) выдаст ошибку т.к. такого метода нет.
# circle_2 = Circle(3)
# print(circle_2.get_area())
# print(circle_2.get_circumference()) выдаст ошибку т.к. такого метода нет.
# circle_3 = Circle(5)
# circle_area = circle_3.get_area()
# print(circle_area)
# print(circle_3.get_circumference()) выдаст ошибку т.к. такого метода нет.