class Person():
courses: int = 1 # Параметр класса
def __init__(self, first_name: str, last_name: str): # Конструктор класса
self.first_name = first_name
self.last_name = last_name
@property
def info (self) -> str: # Свойство Класса
return f'{first_name} {last_name}'
def set_courses(self, courses: int) -> None:
self.courses = courses
def get_courses(self) -> int:
return self.courses
def jump(self) -> None:
self.courses +=1
kate = Person('Екатерина', 'Иванова')
max = Person('Максим', 'Петров')
print(kate.info) #Екатерина Иванова
print(max.info) #Максим Петров
@info.setter
def info(self, new: str):
self.first_name, self.last_name = new.split(' ')
# Теперь можно менять Фамилию и Имя используя способность изменять свойства
kate.info = 'Екатерина Петровна'
from typing import ClassVar
from dataclasses import dataclass
@dataclasses
class Person():
first_name: str
last_name: str
courses: ClassVar = 1 # Внутренний параметр, не передается при создании экземпляров
@property
def info (self) -> str: # Свойство Класса
return f'{first_name} {last_name}'
def set_courses(self, courses: int) -> None:
self.courses = courses
def get_courses(self) -> int:
return self.courses
def jump(self) -> None:
self.courses +=1