Python中的泛型/模板?

发布于 2021-01-29 15:11:45

python如何处理通用/模板类型的场景?假设我想创建一个外部文件“ BinaryTree.py”,并使其处理二进制树,但是对于任何数据类型。

因此,我可以将自定义对象的类型传递给它,并为该对象提供一个二叉树。如何在python中完成?

关注者
0
被浏览
42
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Python使用鸭子类型,因此它不需要特殊的语法即可处理多种类型。

    如果您来自C ++,那么您会记住,只要模板函数/类中使用的操作是在某种类型T(在语法级别)上定义的,就可以T在模板中使用该类型。

    因此,基本上,它的工作方式相同:

    1. 为要在二叉树中插入的项目类型定义合同。
    2. 记录此合同(即在班级文件中)
    3. 仅使用合同中指定的操作来实现二叉树
    4. 请享用

    但是,您会注意到,除非编写显式类型检查(通常不建议这样做),否则您将无法强制二叉树仅包含所选类型的元素。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看