Python常用功能--函数名作为字符串,动态调用函数

# 函数名作为字符串,动态调用函数
class Data:
    def __init__(self):
        pass

    def function1(self, name, age):
        print("function1=====" + name + "===" + str(age))
        return name, age

    def function2(self, name, age):
        print("function2=====" + name + "===" + str(age))
        return name, age

    def function3(self, name, age):
        print("function3=====" + name + "===" + str(age))
        return name, age

    def call_fun_by_str(self, fun_str, name, age):
        # 在类中调用另一个函数
        func_result = getattr(self, fun_str)(name, age)
        return func_result


data = Data()

if __name__ == '__main__':
    print("\033[1;32m===========1、这是调用function1的输出============\033[0m")
    name, age = data.call_fun_by_str("function1", "lily", 18)  # 调用function1,传入函数的参数(姓名,年龄)
    print(name)
    print(age)

    print("\033[1;32m===========2、这是调用function2的输出============\033[0m")
    name, age = data.call_fun_by_str("function2", "lucy", 28)  # 调用function2,传入函数的参数(姓名,年龄)
    print(name)
    print(age)

    print("\033[1;32m===========3、这是调用function3的输出============\033[0m")
    name, age = data.call_fun_by_str("function1", "eason", 38)  # 调用function3,传入函数的参数(姓名,年龄)
    print(name)
    print(age)

猜你喜欢

转载自blog.csdn.net/nikeylee/article/details/129176542