Я недавно обнаружил, что Python набрал для классов и функций, так что yeeeiii
но у меня есть небольшая проблема с обратной совместимостью
from .utils import StdReturn def simpleFunc(data: str) -> StdReturn: """ My Awesome Function """ ret = StdReturn() return ret
Этот пример работает нормально в Python 3.7 и 3.8 (с дополнительным импортным)
И Python 3.6 способом похож на это (без дополнительного импорта)
from .utils import StdReturn def simpleFunc(data: str) -> "StdReturn": """ My Awesome Function """ ret = StdReturn() return ret
Я в порядке с использованием так или иначе, но если я хочу поддержать с 3,6 и вверх, как мне это сделать? Все мои поиски возьмите меня настроить VirtualenV и установить разные версии Python в системе и не фрагментацию в моем пакете Python.
Я опираюсь, чтобы использовать файлы для 3.6 и другим источником для 3.7, но очень трудно поддерживать разные версии в коде. Знаете ли вы, если есть питонский способ сделать это?
PS: Пример код не копирует пасту, они как пример
Оригинал: “https://dev.to/mariofix/python-typing-between-3-6-and-3-7-4374”