是否可以使用变量从特定对象调用方法?

 平凡书生518 发布于 2023-02-13 19:16

我一直想知道这一点,它似乎是Python 会有的东西,但是可以使用与此类似的代码从不同的方法调用相同的方法吗?

这是我用来测试这个的类:

class Test():
   def __init__(self,foo):
      self.foo = foo
   def method_a():
      print(self.foo)

这是运行代码:

import classTest
object1 = classTest.Test("Unn")
object2 = classTest.Test("Tss")
runThis = input("Type in either object1 or object2:")
runThis.method_a()

我明白了:AttributeError:'str'对象没有属性'method_a'

我做错了什么吗?或者Python缺乏该功能?

1 个回答
  • 将您的对象放在字典中:

    objects = {}
    objects['object1'] = classTest.Test("Unn")
    objects['object2'] = classTest.Test("Tss")
    runThis = input("Type in either object1 or object2:")
    objects[runThis].method_a()
    

    您还可以使用该globals()函数访问模块全局变量,这也为您提供了字典,但大多数情况下您希望使用专用字典.

    2023-02-13 19:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有