首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构造方法名

构造方法名
EN

Stack Overflow用户
提问于 2016-07-22 01:57:37
回答 1查看 36关注 0票数 1

如何构造与实例化的类一起使用的方法名称?我正在尝试运行'jsonmaker‘类中的一个方法,其中该方法与filein字符串中指定的数据类型相对应。

代码语言:javascript
复制
for filein in filein_list:
    datatype = filein[(filein.find('_')):-8]
    method_name = pjoin(datatype + 'populate')
    instantiated_class.method_name(arg1, arg2, arg3)

当我尝试上面的代码时,我得到错误信息

代码语言:javascript
复制
'AttributeError: 'jsonmaker' object has no attribute 'method_name''

事实上,jsonmaker中有一个方法可以匹配pjoin(datatype +‘填充’),那么我该如何告诉这个类去识别它呢?如果我解释得不够好,我很抱歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-22 01:59:14

您不能通过将变量直接放在点引用后面来引用类实例的属性。即使当变量引用与属性名称相同的字符串时也不会。

相反,您可以使用getattr从字符串中获取method,然后使用这些参数调用它:

代码语言:javascript
复制
getattr(instantiated_class, method_name)(arg1, arg2, arg3)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38511227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档