Python 方法過載
在 Python 中,你可以通過多種方式呼叫方法來定義方法。給定單個方法或函式,我們可以指定自己的引數數量。
根據函式定義,可以使用零個、一個、兩個或更多引數呼叫它。
這稱為*方法過載。*並非所有程式語言都支援方法過載,但 Python 確實如此。
方法過載示例
我們用一個方法 sayHello()
建立一個類。此方法的第一個引數設定為 None
,這使我們可以選擇是否使用引數呼叫它。
基於類建立物件,並使用零和一個引數呼叫其方法。
#!/usr/bin/env python
class Human:
def sayHello(self, name=None):
if name is not None:
print 'Hello ' + name
else:
print 'Hello '
obj = Human()
obj.sayHello()
obj.sayHello('Guido')
輸出:
Hello
Hello Guido
為了澄清方法過載,我們現在可以通過兩種方式呼叫方法 sayHello()
:
obj.sayHello()
obj.sayHello('Guido')
我們建立了一個方法,可以使用比定義允許的引數更少的引數呼叫。
我們不限於兩個變數,你的方法可以有更多可選的變數。