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

本文介绍了一种在Python中优雅地实现动态调用不同参数对应函数的方法,避免了使用冗长的if/else语句,通过getattr函数实现了类成员函数的动态调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

在可选项众多的情况下如果使用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)

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

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

 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值