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

@Dataclass Class B: if TYPE_CHECKING:

def __init__(self):
...
@dataclass
class A:
b: int
if TYPE_CHECKING:
def __init__(self, a: int):
...

PyCharm ругается, что в A.__init__ нужно вызвать super().__init__, но он же находится в if TYPE_CHECKING. Надо ли это делать?

16 ответов

23 просмотра

Ты делаешь что-то странное...

В плане — что определение метода вообще делает внутри if TYPE_CHECKING: и зачем он тебе?

evle
В плане — что определение метода вообще делает вну...

для отображения аргументов датакласса

evle
screenshot Нафига козе баян?

но в таком случае я не увижу сразу типы аргументов

Иван Кирпичников 🇷🇺
но в таком случае я не увижу сразу типы аргументов

Я вообще разницы в поведении IDE не вижу между A и B на этом скрине. И уж точно не вижу повода писать по такому поводу лишний инит.

Выкинуть

Tishka17
Выкинуть

что именно?

Иван Кирпичников 🇷🇺
что именно?

if type checking и кастомные иниты. Суть датакласса в том, что инит и другие методы генарируются

Мне лень что то думать Вот тебе ответ от клайда Sure, here's the corrected code: from dataclasses import dataclass from typing import TYPE_CHECKING if TYPE_CHECKING: class B: def init(self): ... else: B = object @dataclass class A: b: B if TYPE_CHECKING: def init(self, a: int): ... I've moved the conditional if TYPE_CHECKING outside the classes and added an else statement to assign B to object when type checking is not enabled. This ensures that the code is valid both during type checking and at runtime.

Ilya Steoanov
Мне лень что то думать Вот тебе ответ от клайда S...

Тут за такие советы можно и бан словить...

evle
Тут за такие советы можно и бан словить...

Боятся бы бана в лес не ходить😁

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

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

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