以下是Python的实现代码:

def add(obj1, obj2):
    if isinstance(obj1, (int, float)) and isinstance(obj2, (int, float)):
        return obj1 + obj2
    elif isinstance(obj1, str) and isinstance(obj2, str):
        return obj1 + obj2
    elif isinstance(obj1, list) and isinstance(obj2, list):
        return obj1 + obj2
    elif isinstance(obj1, tuple) and isinstance(obj2, tuple):
        return obj1 + obj2
    else:
        raise TypeError("Unsupported types")

这个函数接受两个参数,根据参数的类型来判断应该如何求和。如果两个参数都是数字(int或float),则直接将它们相加并返回结果。如果两个参数都是字符串,则将它们连接起来并返回结果。如果两个参数都是列表,则将它们合并成一个列表并返回结果。如果两个参数都是元组,则将它们合并成一个元组并返回结果。

如果参数类型不符合上述条件,则抛出一个TypeError异常。

以下是一些示例用法:

print(add(1, 2))            # 输出 3
print(add(1.0, 2.5))        # 输出 3.5
print(add("hello", "world"))# 输出 "helloworld"
print(add([1, 2], [3, 4]))  # 输出 [1, 2, 3, 4]
print(add((1, 2), (3, 4)))  # 输出 (1, 2, 3, 4)

需要注意的是,这个函数没有实现所有可能的类型组合,所以如果你尝试用它来求和其他类型的对象,可能会出现TypeError异常。

实现一个求两个对象之和的函数可以求数值的和字符串的和列表的和元组的和

原文地址: https://www.cveoy.top/t/topic/b1WM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录