反思 Custom Generic Class 方法中的 TypeVar
Reflect on TypeVar in Custom Generic Class method
考虑下面的代码。
>>> class A(typing.Generic[T]):
... @classmethod
... def foo(cls) -> None:
... print(typing.get_args(cls))
...
>>> A[int].foo()
()
>>> typing.get_args(A[int])
(<class 'int'>,)
是否可以在A.foo()
class方法中推断出存储在T
中的具体类型?
这是一个相当通用的(原文如此)示例。一个真实世界的用例是实现一个通用构造函数,它调用 T
类型的构造函数或通用工厂。
针对此特定案例,typing
回购中存在 open 问题。
考虑下面的代码。
>>> class A(typing.Generic[T]):
... @classmethod
... def foo(cls) -> None:
... print(typing.get_args(cls))
...
>>> A[int].foo()
()
>>> typing.get_args(A[int])
(<class 'int'>,)
是否可以在A.foo()
class方法中推断出存储在T
中的具体类型?
这是一个相当通用的(原文如此)示例。一个真实世界的用例是实现一个通用构造函数,它调用 T
类型的构造函数或通用工厂。
针对此特定案例,typing
回购中存在 open 问题。