在python中,类继承泛型的目的是什么?
这两种代码有什么区别在python中,类继承泛型的目的是什么?,python,python-typing,Python,Python Typing,这两种代码有什么区别 输入import TypeVar,Generic 从日志导入记录器 T=TypeVar('T') 类LoggedVar(通用[T]): def uuu init uuuu(self,value:T,name:str,logger:logger)->无: self.name=名称 self.logger=记录器 自我价值=价值 及 输入import TypeVar 从日志导入记录器 T=TypeVar('T') 类LoggedVar: def uuu init uuuu(s
输入import TypeVar,Generic
从日志导入记录器
T=TypeVar('T')
类LoggedVar(通用[T]):
def uuu init uuuu(self,value:T,name:str,logger:logger)->无:
self.name=名称
self.logger=记录器
自我价值=价值
及
输入import TypeVar
从日志导入记录器
T=TypeVar('T')
类LoggedVar:
def uuu init uuuu(self,value:T,name:str,logger:logger)->无:
self.name=名称
self.logger=记录器
自我价值=价值
我不明白把Generic作为LoggedVar的基类有什么特别之处。谁能给我解释一下吗
谢谢。第一个版本是泛型类
LoggedVar[int]
是类的一种特殊化,它将int
作为其构造函数中的value
参数。如果类中有T
的任何其他用法,则T
的值必须匹配
第二个版本是一个非泛型类,具有泛型
\uuuu init\uuu
方法T
将根据传递的value
推断为不同的内容,但无法声明类的专门化,如LoggedVar[int]
,如果使用其他方法,则这些方法将是单独的泛型方法,不要求T
与\uuuuu init\uuuuuu
的推导结果匹配,谢谢。你能给我举个LoggedVar[int]的例子吗?你说的类的专门化我真的不明白。@Blodstone:x:LoggedVar[int]=LoggedVar[int](1,'a',一些记录器)