Я пытаюсь понять, как заставить это работать:
def someMethod() -> dict[any, any]:
if not os.path.exists('some path'):
return {}
config = {'a': 1, 'b': 2}
return config
Я не думаю, что это правильно. Увидел эту ошибку - Declared return type, "dict[Unknown, Unknown]", is partially unknownPylance
Идея состоит в том, чтобы вернуть пустой словарь, если путь не существует (или при каком-то условии), или исправить словарь парами ключ-значение.
Есть идеи?
имеет смысл, удалил его в вопросе, а также в моем локальном коде. Спасибо! Любые идеи о том, как заставить работать возвращаемый тип
С практической точки зрения альтернативой может быть dict[string,int].






Нижний регистр any — это встроенная функция Python, а не тип. Вместо этого вам нужно импортировать заглавную Any из модуля набора текста.
from typing import Any
import os
def someMethod() -> dict[Any, Any]:
if not os.path.exists('some path'):
return {}
config = {'a': 1, 'b': 2}
return config
Поскольку возвращаемый dict всегда является dict[str, int], это может быть лучше — или даже typing.Mapping[str, int], если вызывающая сторона не предназначена для его изменения.
Вы могли бы немного убрать это с помощью
return {}вместо местного, который вы все равно топнете позже.