python:如何实现self.func?
ringa_lee
ringa_lee 2017-04-17 12:59:44
[Python讨论组]
func = 'somefunc'
self.func

假设有一个类foo,它有个函数somefunc。func是个字符串变量,它等于'somefunc'。怎么通过func这个变量调用foo.somefunc()呢?foo.((func))???
我的代码

 urls = {'Youdaili':'http://www.youdaili.cn/Daili/http/'}

 for proxy, url in self.urls.iteritems():
   yield Request(url = url, callback = self.'parse' + proxy)
ringa_lee
ringa_lee

ringa_lee

全部回复(5)
阿神

问题不明确,按我理解楼主的问题是:

通过字符串来找到类的一个方法,然后调用它,是这样么?

那样__getattribute__(name)方法就可以了呀,或者用getattr(obj, name[, default])函数

===

刚回答完楼主就修改了问题,那样就明确了。

如我上面所述,解决的办法就是用getattr__getattribute__

func = 'somefunc'
somefunc = getattr(foo, func) # or foo.__getattribute__(func)
somefunc() # Call it
大家讲道理

这问题也太不明确了吧亲

黄舟

虽然没看明白,我大概觉得你要覆盖getattribute 方法就行, 参考 http://stackoverflow.com/questions/371753/python-using-getattribute-method

PHP中文网

使用getattr函数可以通过字符串获取到一个对象的方法。

PHPz

x-y problem

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号