当前位置: 首页 > 编程笔记 >

Python支持多态吗?

杨宏儒
2023-03-14
本文向大家介绍Python支持多态吗?,包括了Python支持多态吗?的使用技巧和注意事项,需要的朋友参考一下

是的,Python支持多态。

多态性一词意味着具有多种形式。

多态性是Python中类定义的一项重要功能,当您在类或子类之间具有通用命名方法时,可以使用该功能。

多态可以通过继承来实现,子类可以使用基类方法或对其进行重写。

有两种类型的多态性

  • 超载

  • 覆写

重载:当一个类中的两个或多个方法具有相同的方法名称但参数不同时,就会发生重载

覆盖:覆盖是指具有相同方法名称和参数的两个方法(即方法签名)。一种方法在父类中,另一种在子类中。

示例

class Fish():
   def swim(self):
      print("鱼在游泳。")

   def swim_backwards(self):
      print("The Fish can swim backwards, but can sink backwards.")

   def skeleton(self):
      print("The fish's skeleton is made of cartilage.")

class Clownfish():
   def swim(self):
      print("小丑鱼在游泳。")

   def swim_backwards(self):
      print("小丑鱼会向后游。")

   def skeleton(self):
      print("The clownfish's skeleton is made of bone.")

a = Fish()a.skeleton()
b = Clownfish()b.skeleton()

当我们使用html" target="_blank">python polymorphism.py命令运行程序时,我们将获得预期的输出-

输出结果

The fish's skeleton is made of cartilage.
The clownfish's skeleton is made of bone.
 类似资料:
  • 问题内容: 我正在这样写我的文档测试: 这对于Python 2.5、2.6和2.7版本可以正常工作,但对于Python 3则失败,并出现以下错误: 问题是,如果我这样编写我的doctest: 它们仅适用于Python3,而在Python2版本上无效。我的问题是如何使其跨版本兼容? 问题答案: 我在IPython中遇到了与doctests相同的问题。没有整洁的解决方案,但是我将所有前缀都包装在中,即

  • Flask 与其所有依赖包都支持 Python 3,所以理论上你已经可以在 Python 3 中 工作了。尽管如此,在你开始为新项目采用 Python 3 之前,仍有一些事情应该 了解。 需求 如果你想要在 Python 3 中使用 Flask,你需要安装 Python 3.3 或更高的版本。 不支持 3.2 及更古老版本。 此外你需要使用最新且最大版本的 itsdangerous 、 Jinja

  • 判断是否在支持的环境打开 var isSupportedApp = Tida.isSupportedApp;// 判断是否在天猫/手淘环境下,一般用于处理应用的兼容。

  • 为您的 Flarum 添加新的界面语言很简单。按照下面的说明,下载并安装语言包即可。 在您安装并启用一个语言包后,您可以将其 设置为您论坛的默认语言。当您可以 随时禁用 用不到的语言。如果您有使用任何第三方扩展,请务必在开始前 阅读社区扩展说明。 欲开始,请访问 Flarum 社区上的 Extensions > Languages 标签,并找到您想要安装的语言包。 语言包的安装方式与 扩展 相同。

  • 我们在第十章介绍过国际化和本地化,开发了一个go-i18n库,这小节我们将把该库集成到beego框架里面来,使得我们的框架支持国际化和本地化。 i18n集成 beego中设置全局变量如下: Translation i18n.IL Lang string //设置语言包,zh、en LangPath string //设置语言包所在位置 初始化多语言函数: fu