python 字符串执行函数(带参数)方法总结

在开发中经常会遇见不同的参数需要执行不同函数。

在可选项众多的情况下如果使用if/else逐个判断的话,会使代码极度丑陋,不够优雅。

为了优美的实现他,我们可以用一些python的内建函数。

1.getattr(object ,name)

这个地方的坑有很多。

举个例子:

class test:
    def te():
       print (1);
    def tes(num):
       print(num);

这里如果我们想要动态调用的话

我们只需要:

s = "te"
getattr(test,s)

  即可,注:此时的 getattr(test,s)只是获取到了函数,他并没有执行。依此不论函数有没有参数值,这里的s只需要函数的名字即可(返回一个函数是python的特性,在此不过多解释)

可以通过print 查看一下

如果想要执行的话,我们可以

s = "te"
temp = getattr(test,s)
temp()

s = "tes"
temp = getattr(test,s)
temp(2)

即可实现函数的动态调用。

注:该方法只使用类的成员函数,对于普通的静态函数并不适用。

目前只举出这一项,剩下的方法等有时间测试完了再发出来。

发布了12 篇原创文章 · 获赞 4 · 访问量 2556

猜你喜欢

转载自blog.csdn.net/xiayu729100940/article/details/103969759