Как добавить подсказки типов для необязательной зависимости в Python? [дубликат]Python

Программы на Python
Anonymous
Как добавить подсказки типов для необязательной зависимости в Python? [дубликат]

Сообщение Anonymous »

В пакете Python matplotlib используется только в одной функции и, следовательно, определяется как необязательная зависимость. Эта функция принимает необязательный аргумент ax.

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

def my_plot_function(ax=None):

if ax is None:
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

# plot someting...

return ax
Как лучше всего добавить подсказки типов, не делая matplotlib обязательной зависимостью? Возможно ли это с некоторыми поддельными типами, если matplotlib не установлен?

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

from matplotlib.axes import Axes

def my_plot_function(ax : None | Axes = None) -> Axes:

if ax is None:
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

# plot someting...

return ax
Было бы

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

try:
from matplotlib.axes import Axes

except ModuleNotFoundError:

class Axes:
pass
можно ли?
Импортировать классы только для ввода на Python? не имеет избранных ответов. Этот вопрос не касается кругового импорта. Речь идет о типах из необязательных зависимостей. Есть ли какой-либо другой (более новый) способ, кроме аннотации типа в кавычках, как это предложено в разделе «Импорт классов, только для ввода в Python»??

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-python

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