以下是一个示例代码,其中函数的类型定义取决于输入类型:
def process_input(input_data):
if isinstance(input_data, int):
return process_integer(input_data)
elif isinstance(input_data, str):
return process_string(input_data)
elif isinstance(input_data, list):
return process_list(input_data)
else:
return None
def process_integer(input_integer):
# 处理整数类型的输入数据
return input_integer * 2
def process_string(input_string):
# 处理字符串类型的输入数据
return input_string.upper()
def process_list(input_list):
# 处理列表类型的输入数据
return [element * 2 for element in input_list]
# 测试示例
print(process_input(5)) # 输出 10
print(process_input("hello")) # 输出 "HELLO"
print(process_input([1, 2, 3])) # 输出 [2, 4, 6]
print(process_input(True)) # 输出 None,未定义处理布尔类型的函数
在上述示例中,process_input
函数根据输入数据的类型来决定调用哪个具体的处理函数。如果输入数据是整数类型,则调用process_integer
函数;如果是字符串类型,则调用process_string
函数;如果是列表类型,则调用process_list
函数。如果输入数据的类型不属于以上三种情况,则返回None
。