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