Python中文
首页
教程
问答
标签
搜索
登录
注册
从另一个类调用特定于类的方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我在一个叫做AlgoSystem的类中工作,这个类被赋予策略0和策略1作为初始化时的输入以及策略的数量(本例中为2)。策略类存储在系统中一个名为“strategies”的字典中。strategy\u 0和strategy\u 1本身是不同的类,但都有一个名为“\u on \u tick”的函数。我想从AlgoSystem类中调用这些函数。 我目前的尝试如下:</p> <pre><code>class AlgoSystem: def __init__(self, strategy_0, strategy_1, numstrategies): self.var= 1 self.strategies = {0 : strategy_0, 1 : strategy_1} self.num_strategies = numstrategies def start(self): for i in range(self.num_strategies): self.strategies[i].__on_tick(self.var) class Strategy_zero: def __init__(self, x): self.x = x def __on_tick(self, var): self.x = self.x + var print(self.x) class Strategy_one: def __init__(self, y): self.y = y def __on_tick(self, var): self.y = self.y - var print(self.y) strategy_0 = Strategy_zero(2) strategy_1 = Strategy_one(4) num_strategies = 2 system = AlgoSystem(strategy_0, strategy_1, 2) system.start() </code></pre> <p>当我运行上面的代码时,会出现以下错误:</p> <pre><code>Strategy_zero' object has no attribute '_AlgoSystem__on_tick' </code></pre> <p>显然我没有正确地调用类函数“\u on\u tick”。我该怎么做?我需要以某种方式来做,所以我通过在AlgoSystem中定义的字典“strategies”来跟踪两个子类(strategy\u0和strategy\u1)的变化</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>双下划线前缀是专门设计用来阻止你做你正在做的事情</p> <p>你没有理由在这里使用它。去掉前缀,你的方法就可以<code>on_tick</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
5 回答
当用户登录到站点时,如何显示不同的导航栏
4 回答
当用户登录时,在Flask中向用户显示处理结果
7 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
7 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
7 回答
当用户的付款逾期2天时,从Django模型检索数据
8 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
2 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
10 回答
当用户确定打印数量时,使用Matplotlib打印动画
8 回答
当用户离开时是否可以删除整个网页?
2 回答
当用户给出一个单词时如何打印?
9 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
2 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
2 回答
当用户被更改时,消息不会来自web套接字
1 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
7 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
7 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
2 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
1 回答
当用户购买某个类别时,是否查找其他类别的销售?
1 回答
当用户转到上一页时,Django和芹菜插入操作
10 回答