像其他語言(例如C++中的方法重載)一樣,python不支持方法重載。我們可能會重載這些方法,但隻能使用最新定義的方法。
# First product method.
# Takes two argument and print their
# product
def product(a, b):
p = a * b
print(p)
# Second product method
# Takes three argument and print their
# product
def product(a, b, c):
p = a * b*c
print(p)
# Uncommenting the below line shows an error
# product(4, 5)
# This line will call the second product method
product(4, 5, 5)
輸出:
100
在上麵的代碼中,我們定義了兩個乘積方法,但是我們隻能使用第二乘積方法,因為python不支持方法重載。我們可以定義許多名稱相同且參數不同的方法,但隻能使用最新定義的方法。調用其他方法將產生錯誤。像這裏打電話由於最新定義的product方法采用三個參數,將產生錯誤。
但是我們可能會在python中使用其他實現方式來使同一個函數以不同的方式工作,即根據參數。
# Function to take multiple arguments
def add(datatype, *args):
# if datatype is int
# initialize answer as 0
if datatype =='int':
answer = 0
# if datatype is str
# initialize answer as ''
if datatype =='str':
answer =''
# Traverse through the arguments
for x in args:
# This will do addition if the
# arguments are int. Or concatenation
# if the arguments are str
answer = answer + x
print(answer)
# Integer
add('int', 5, 6)
# String
add('str', 'Hi ', 'Geeks')
輸出:
11 Hi Geeks
相關用法
- Python next()用法及代碼示例
- Python os.dup()用法及代碼示例
- Python set()用法及代碼示例
- Python sympy.crt()用法及代碼示例
- Python os.WIFSIGNALED()用法及代碼示例
- Python sympy.eye()用法及代碼示例
- Python Tensorflow log()用法及代碼示例
- Python Decimal min()用法及代碼示例
- Python Decimal max()用法及代碼示例
- Python dict pop()用法及代碼示例
- Python sympy.gcd()用法及代碼示例
- Python os.renames()用法及代碼示例
注:本文由純淨天空篩選整理自ShivamKD大神的英文原創作品 Python | Method Overloading。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。