小编典典

Python中的泛型/模板?

python

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

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


阅读 216

收藏
2021-01-20

共1个答案

小编典典

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

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

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

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

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

2021-01-20