通过同名字符串来调用函数<python>


        相信使用python的各位童鞋,总会有这样的需求:通过一个同名的字符串来调用一个函数。其他的语言是如何实现,不太清楚。但是python提供一个强大的内建函数getattr(),可以实现这样的功能。

       getattr()的函数原型为 getattr(object, str_ name),其返回对象object中名字为str_name的属性方法,这个str_name就是一个字符串,返回的就是名为str_name的函数对象。

       具体可以通过以下两种方法来实现:

(一)  新建一个test.py文件,在其中定义若干方法test1(),test2()等,另建程序文件main.py,这样在main.py中

import test

fun1=getattr(test,'test1')
fun1()

fun2=getattr(test,'test2')
fun2()

 

(二) 在程序文件main.py中,建一个类test,getattr通过传入类的对象,来得到对象的方法

 

class test():
    def test1():
        print 'test1'
    def test2():
        print 'test2'

t=test()
fun1=getattr(t,'test1')
fun1()

fun2=getattr(t,'test2')
fun2()


如此实现。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值