在 Python 中使用 Type Hints
在 Python 中使用 Type Hints
- Created: 2024-10-21T16:48+08:00
- Published: 2024-10-22T13:08+08:00
Categories: Python
工厂方法使用 TypeVar 作为函数参数的类型注释,可以做到传入什么类型,返回什么类型。
from typing import Type, TypeVar class Pet: def __init__(self): pass def set_name(self, name): self.name = name class Dog(Pet): def __init__(self): super().__init__() def bark(self): echo("woof") class Cat(Pet): def __init__(self): super().__init__() def meow(self): echo("meow") PetClass = TypeVar("PetClass", bound=Pet) def create_pet(pet_class: Type[PetClass]) -> PetClass: p = pet_class() p.set_name("foo") return pet_class() if __name__ == "__main__": d = create_pet(Dog) d.bark() c = create_pet(Cat) c.meow()
如果您有任何关于文章的建议,欢迎评论或在 GitHub 提 PR
作者:dutrmp19
本文为作者原创,转载请在 文章开头 注明出处:https://www.cnblogs.com/dutrmp19/p/18492434
遵循 CC 4.0 BY-SA 版权协议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
2022-10-22 Windows下使用VSCode配置OpenCV开发环境