当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。