键入键,Python 3.8中不带附加类的TypedAct的值

键入键,Python 3.8中不带附加类的TypedAct的值,python,python-typing,Python,Python Typing,我想使用Python3.8中的类型模块。 Python3.8在类型化模块中有一个TypedAct。 我有一个参数如下的函数: 从键入导入 def groupDataFrame(df: pd.DataFrame, somelist: List[str], somedict: TypedDict[str: Callable]: pass 但它不允许我这样指定字典,抛出一个类型错误: TypeError:“\u TypedDictMeta”对象不可下标 有一个解决方案利用了一个额外的类,但这

我想使用Python3.8中的类型模块。 Python3.8在类型化模块中有一个TypedAct。 我有一个参数如下的函数: 从键入导入

def groupDataFrame(df: pd.DataFrame, somelist: List[str], somedict: TypedDict[str: Callable]:
    pass
但它不允许我这样指定字典,抛出一个类型错误:
TypeError:“\u TypedDictMeta”对象不可下标

有一个解决方案利用了一个额外的类,但这是一个相当丑陋的解决方案:


你知道没有额外的类怎么做吗?

你不能给TypedDict下标;您要实例化或子类化一个:

考虑到这一点,您可以将其嵌入您的签名中:

def x(a: TypedDict('A', x=int)):
  pass

对,因为这不是它的用途
def x(a: TypedDict('A', x=int)):
  pass