可以使用Python中的类型检查来实现此功能。使用isinstance()函数检查参数类型,如果是整数则计算其平方,如果是整数列表则计算列表中每个元素的平方,并返回一个新的列表。代码示例如下:
def square(input):
    if isinstance(input, int):
        return input**2
    elif isinstance(input, list):
        return [i**2 for i in input]
    else:
        raise TypeError("Input must be an integer or a list of integers")
# 测试
print(square(2))      # 输出:4
print(square([2,3,4]))# 输出:[4, 9, 16]
print(square("a"))    # 抛出错误:Input must be an integer or a list of integers
该函数接受一个参数input,并检查其类型。如果是一个整数,返回它的平方。如果是一个整数列表,使用列表推导式计算每个元素的平方,并返回新的列表。如果input参数既不是整数也不是整数列表,则抛出一个类型错误。测试代码中包含三个测试用例,分别测试函数接受整数、列表和字符串的情况。