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

Posted nikeylee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 

以上是关于Python常用功能--函数名作为字符串,动态调用函数的主要内容,如果未能解决你的问题,请参考以下文章

数组名作为函数的参数属于啥传递为啥

数组名作为函数参数.我编的这个错在那?

c++如何用动态数组和函数

python学习——装饰器生成器迭代器

javascript 函数作为参数名

数组名作函数参数时,实参与形参变量之间的数据传递是?