прописанные свойства со своими типами были в классе, чтоб выдавало ошибку, если попытаться проинициализировать новое свойство, который заранее не объявлен
Это вам не java, тут все зайки и таких наручников нет.
если коротко, то никак. ты можешь попытаться это сделать, но это уже будет недидиоматичный код на питоне.
Если это реальная часть проекта, где у вас по какой-то причине проходит граница между вашей зоной ответственности и чей-то еще и не возможно договоритсья. Делайте микросервис и утаскивайте это дело за API где ручки контроллируются вами. Будет медленнее, но зато будет уверенность, что вас не поднимут по тревоге в 3 часа ночи. Бывает всяко в том числе и так.
нет, проект свой. Просто начитался книжек вот хочу так же написать) . Но с типами думаю идея здравая, вот только не хочу кучу блоков if плодить. Аннотация типов в python странно работает, к примеру код ниже успешно запускается, хоть я и указал что аргументы фукнции должны быть строками сам код: class Person: def __init__(self, name: str, surname: str): self.name = name self.surname = surname def greet(self): print("Hello, I'm", self.name, self.surname) p = Person(1, 2) p.greet() https://replit.com/join/qxhtuhpxma-yushakhzod
>> Но с типами думаю идея здравая, вот только не хочу кучу блоков if плодить. assert же, зачем плодить ифы.
аннотации типов ничего не гарантируют
сами по себе аннотации типов никак не влияют на рантайм
отвратительно. assert не должен использоваться для бизнес-логики.
Вот тут интересно мне, а вы бы как сделали?
Обсуждают сегодня