在返回两个方法时避免使用if else语句可以使用以下两种方法:
def method1():
# 方法1的实现
return result1
def method2():
# 方法2的实现
return result2
methods = {
'method1': method1,
'method2': method2,
}
def execute_method(method_name):
if method_name in methods:
method = methods[method_name]
return method()
else:
raise ValueError('Invalid method name')
# 调用方法1
result = execute_method('method1')
print(result)
# 调用方法2
result = execute_method('method2')
print(result)
def method1():
# 方法1的实现
return result1
def method2():
# 方法2的实现
return result2
def method_dispatcher(func):
def wrapper():
return func()
return wrapper
@method_dispatcher
def execute_method1():
return method1()
@method_dispatcher
def execute_method2():
return method2()
# 调用方法1
result = execute_method1()
print(result)
# 调用方法2
result = execute_method2()
print(result)
这两种方法都可以避免使用if else语句来判断要执行的方法,提供了更灵活和可扩展的方式来处理多个方法的返回。