170 похожих чатов

Как в питоне обозначить свойства класса? Хочу чтоб было заранее

прописанные свойства со своими типами были в классе, чтоб выдавало ошибку, если попытаться проинициализировать новое свойство, который заранее не объявлен

10 ответов

26 просмотров

Это вам не java, тут все зайки и таких наручников нет.

если коротко, то никак. ты можешь попытаться это сделать, но это уже будет недидиоматичный код на питоне.

Если это реальная часть проекта, где у вас по какой-то причине проходит граница между вашей зоной ответственности и чей-то еще и не возможно договоритсья. Делайте микросервис и утаскивайте это дело за API где ручки контроллируются вами. Будет медленнее, но зато будет уверенность, что вас не поднимут по тревоге в 3 часа ночи. Бывает всяко в том числе и так.

GHdeewre- Автор вопроса

нет, проект свой. Просто начитался книжек вот хочу так же написать) . Но с типами думаю идея здравая, вот только не хочу кучу блоков 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 же, зачем плодить ифы.

GHdeewre
нет, проект свой. Просто начитался книжек вот хочу...

аннотации типов ничего не гарантируют

GHdeewre
нет, проект свой. Просто начитался книжек вот хочу...

сами по себе аннотации типов никак не влияют на рантайм

Evgeny Kovalskiy
>> Но с типами думаю идея здравая, вот только не х...

отвратительно. assert не должен использоваться для бизнес-логики.

Alex
отвратительно. assert не должен использоваться для...

Вот тут интересно мне, а вы бы как сделали?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта