Неверная подсказка типа для параметра имени вbinary_var_list [закрыто]Python

Программы на Python
Ответить
Anonymous
 Неверная подсказка типа для параметра имени вbinary_var_list [закрыто]

Сообщение Anonymous »

Методbinary_var_list в API docplex.mp.model имеет неверную аннотацию типа для параметра имени.
Текущая подпись:

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

def binary_var_list(self, keys, lb=None, ub=None, name: type[str] = str, key_format=None):
Имя аннотации: type[str] предполагает, что функция ожидает класс str (тип), однако, цитируя документацию (и согласуясь с фактическим поведением):

Принимает либо строку, либо функцию

Это несоответствие приводит к тому, что средства проверки типов, такие как Pylance или mypy, выдают ошибки при передаче строкового литерала, даже хотя функция работает правильно.
Я предлагаю изменить это на

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

def binary_var_list(self, keys, lb=None, ub=None, name: str | Callable[..., str] = str, key_format=None):
Вот минимальный рабочий пример возникновения этой ошибки:

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

from docplex.mp.model import Model

model = Model(name="Multidimensional Knapsack Problem")
x = model.binary_var_list(self.num_items, name="x")
Это вызовет предупреждение pylance для «x».


Подробнее здесь: https://stackoverflow.com/questions/798 ... y-var-list
Ответить

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

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

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

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

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