當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Method Overloading用法及代碼示例


像其他語言(例如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(4, 5)由於最新定義的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



相關用法


注:本文由純淨天空篩選整理自ShivamKD大神的英文原創作品 Python | Method Overloading。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。