原文: https://pythonspot.com/method-overloading/

方法重载 - 图1

几种调用方法的方法(方法重载)

在 Python 中,您可以以一种多种方式来调用它来定义方法。

给定单个方法或函数,我们可以自行指定参数数量。

根据函数定义,可以使用零个,一个,两个或多个参数来调用它。

这称为方法重载。并非所有的编程语言都支持方法重载,但是 Python 支持。

方法重载示例

我们使用一个方法sayHello()创建一个类。此方法的第一个参数设置为None,这使我们可以选择是否使用参数来调用它。

一个基于该类创建的对象,我们使用零和一个参数调用其方法。

  1. #!/usr/bin/env python
  2. class Human:
  3. def sayHello(self, name=None):
  4. if name is not None:
  5. print('Hello ' + name)
  6. else:
  7. print('Hello ')
  8. # Create instance
  9. obj = Human()
  10. # Call the method
  11. obj.sayHello()
  12. # Call the method with a parameter
  13. obj.sayHello('Guido')

输出:

  1. Hello
  2. Hello Guido

为了澄清方法的重载,我们现在可以通过两种方式调用sayHello()方法:

  1. obj.sayHello()
  2. obj.sayHello('Guido')

我们创建了一个方法,该方法可以使用比定义所允许的参数更少的参数进行调用。

我们不仅限于两个变量,您的方法可以有更多可选的变量。

下载练习