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

Почему пичарм ругается на text в TestChild? from abc import abstractmethod from

typing import Protocol


class Test(Protocol):
@property
@abstractmethod
def text(self):
"""Text!"""

@abstractmethod
def meow(self):
"""Meow method!"""


class TestChild(Test):
text = 1

def meow(self):
print('meow')

21 ответов

13 просмотров
quantum super position- Автор вопроса

mypy не ругается

бажный он

quantum super position- Автор вопроса
Alex
бажный он

что за приколы я только-только стал юзать нормально хинты и тут вот буквально на каждом шаге такое

quantum super position- Автор вопроса
quantum super position
что за приколы я только-только стал юзать нормальн...

Надо видимо в youtrack идти, это именно с Protocol'ом дичь происходит

quantum super position
что за приколы я только-только стал юзать нормальн...

алсо а это нормально вообще что у тебя в протоколе абстрактные методы и проперти?

quantum super position- Автор вопроса
Alex
алсо а это нормально вообще что у тебя в протоколе...

хороший вопрос но я не знаю как мне сделать такую вещь без протокола: мне нужно указать хинт вида objects: Iterable[MainClass], который будет означать что на вход подается Iterable классов наследников MainClass.. вот поэтому и заюзал Protocol я неправильно понял его суть?

quantum super position- Автор вопроса
quantum super position
хороший вопрос но я не знаю как мне сделать такую ...

TL;DR вот баг пичарма еще один https://t.me/ru_python_beginners/2040271

quantum super position
хороший вопрос но я не знаю как мне сделать такую ...

Если взять абстракный класс и абстрактное проперти, то это все будет относительно работать

quantum super position- Автор вопроса
Pavel Павлик
Если взять абстракный класс и абстрактное проперти...

а как мне указать тогда что у наследника должен быть реализован некий атрибут класса?

quantum super position- Автор вопроса
quantum super position
депрекейтед ж

ну так вместо него надо юзать обычную проперти и абстрактметод же

quantum super position
депрекейтед ж

Так депрекейтнут сам декоратор, сейчас его можно сделать через @abstaractmethod и @property только я порядок не помню

quantum super position
а как мне указать тогда что у наследника должен бы...

на уровне тайпхинтов \ протоколов или абстрактных классов?

quantum super position- Автор вопроса
Pavel Павлик
Так депрекейтнут сам декоратор, сейчас его можно с...

Ну вот у меня так и сделано сейчас, как и сказал алекс

quantum super position
хороший вопрос но я не знаю как мне сделать такую ...

Какая разница наследник или нет. Атрибуты то у них одинаковые а что там дальше тебе фиолетово

Patrick [in search of work]
Какая

Да хрен его знает что у него в голове

Ух.. я бы так сделал class Test(Protocol): text: str def meow(self): """Meow method!""" class TestChild: text = "text" def meow(self): print("meow") def somefunc(t: Test): print(t)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта