在 Python 中使用 Type Hints
Published on 2024-10-22 13:09 in with dutrmp19

在 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 版权协议


posted @   dutrmp19  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2022-10-22 Windows下使用VSCode配置OpenCV开发环境
点击右上角即可分享
微信分享提示