Типизация Python: копирование `**kwargs` из одной функции в другуюPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Типизация Python: копирование `**kwargs` из одной функции в другую

Сообщение Anonymous »

Это распространенный шаблон в функциях расширения или переноса Python: использование **kwargs для передачи всех аргументов ключевого слова в расширенную функцию.
т.е. возьми

Код: Выделить всё

class A:
def bar(self, *, a: int, b: str, c: float) -> str:
return f"{a}_{b}_{c}"

class B(A):
def bar(self, **kwargs):
return f"NEW_{super().bar(**kwargs)}"

def base_function(*, a: int, b: str, c: float) -> str:
return f"{a}_{b}_{c}"

def extension(**kwargs) -> str:
return f"NEW_{base_function(**kwargs)}"
Теперь вызов расширения(not_existing="a") или B().bar(not_existing="a") приведет к ошибке типа >, которые могут быть обнаружены средствами проверки статического типа.
Как я могу аннотировать свое расширение или B.bar, чтобы обнаружить эту проблему перед запуском моего код?
Эта аннотация также будет полезна для IDE, чтобы дать мне правильные предложения по расширению или B.bar.

Подробнее здесь: https://stackoverflow.com/questions/719 ... to-another
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Типизация Python: копирование `**kwargs` из одной функции в другую
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Типизация Python 3.9+. Коллекция, кортеж и типизация. Итерируемый
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Типизация Python: принимать kwargs только с методами некоторых классов
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Типизация Python: принимать kwargs только с методами некоторых классов
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Python Openpyxl: копирование и вставка из одной книги Excel в другую – Содержание
    Anonymous » » в форуме Python
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»