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

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

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

10 ответов

8 просмотров

Это вам не 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 не должен использоваться для...

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

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
А кто такой мужчина в твоем понимании Азиз?
who?です 🐈
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Ну значит тебе повезло, мы же про транк говорим оба?
Александр (Rouse_) Багель
11
https://habr.com/ru/companies/domclick/articles/500978/ Добрый день, подскажите, пожалуйста, насколько хорошая практика сделать вот такую структуру эксчейнджей и очередей для...
Sergey
5
Карта сайта