Здравствуйте, задался вопросом, зачем нужно писать так:
class Animal:
mustache_count: int
paws: int
def __init__(self, mustache_count: int, paws: int) -> None:
self.mustache_count = mustache_count
self.paws = paws
Если можно так:
class Animal:
def __init__(self, mustache_count: int, paws: int) -> None:
self.mustache_count = mustache_count
self.paws = paws
и это все будет иметь одинаковый эффект?
Заглядывая в кишки многих библиотек я убедился, что многие не перечисляют поля внутри тела класса, а ограничиваются параметрами в методе __init__