python - 调用函数引用来自输入 python 的对象
问题描述
所以我有一个带有打印功能的课程。
目标:我希望能够在输入字段中写入“c1”以进行等效于 c1.prnt() 的调用。
当前错误说“ AttributeError:'str'对象没有属性'prnt' ”
我猜输入是作为字符串传递的,但在这种情况下应该作为指向 c1 的指针传递,我该怎么做?
class claim:
def __init__(self,text,support_list):
authors = ["Author A","Author B"]
#base_properties.__init__(self,authors)
self.text = text
self.support_list = support_list
def prnt(self):
n = len(self.support_list)-1
print(f"\nThe claim -{self.text}- is backed by {c1.support_list[n].name} and {n} more.")
c1 = claim("Tax is mean",[s1,s2])
input("What claim do you want to print?").prnt()
解决方案
将对象放入字典中,以便将名称映射到对象。
claims = {}
claims['c1'] = claim("Tax is mean",[s1,s2])
claims[input("What claim do you want to print?")].prnt()
推荐阅读
- c# - 通过 ReadAsStreamAsync 限制 HttpClient 的下载速度
- reactjs - next.js 如何从 WebSocket api 获取数据
- excel - 在 Excel 中打开指向具有 SSO cookie 的网页的超链接时出现问题
- java - 无法在模型中映射一对一关系
- javascript - 'Date.toLocaleString()' 有哪些选项?
- parallel-processing - Jenkins 与不同的代理并行,每个代理都具有相同的 docker 映像
- python - 运行python脚本时非法硬件操作
- python - 尝试使用导入 pygame 的脚本创建 exe 文件
- android - 如何检索 Firebase 数据并将其实施到回收站视图?
- javascript - 如何从当前时间获取过去的天数