Python中文
首页
教程
问答
标签
搜索
登录
注册
向对象方法Python传递太多参数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>所以我想我有一个非常简单的案子,但我完全不明白为什么它不能执行。在</p> <p>这是我的来源-这是我的主.py我通过执行'python'来运行的文件主.py'从命令行:</p> <pre><code>import player import enemy p1 = player.playerClass(health = 200.0, position = [1, 0, 0], damage = 30.0) e1 = enemy.enemyClass(position = [3, 0, 0], damage = 35.0) print("Before attacking: " + str(e1.Health)) p1.Attack(e1, p1.Damage) # Error is here print("After attacking: " + str(e1.Health)) </code></pre> <p>攻击方法的代码位于playerClass类中。在没有Attack()方法的情况下,enemyClass是完全相同的(试图使一切尽可能简单)</p> ^{pr2}$ <p>从我读到的内容来看,我已经将'self'关键字应用到Attack的类定义中,当调用'p1.Attack(…)'时'p1'应该是这样传递的,但是由于某些原因我得到了错误:</p> <pre><code>TypeError: Attack() takes exactly 2 arguments (3 given) </code></pre> <p>有什么建议吗?我知道有一些关于同一问题的相关问题,但这些问题解释了为什么需要“自我”,我已经(有点)明白了。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我最终找到了解决方案,这和@martijin的建议有点关系。在</p> <p>问题是我把python文件编译在主.py文件是从-反过来,当python执行时,它引用的是这些编译的.pyc文件,而不是我正在编辑的实际脚本文件。在</p> <p>删除这些编译的.pyc文件解决了我的问题,因为python现在似乎引用了正确的.py脚本文件。在</p> <p>谢谢大家的投入!在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
5 回答
文本小部件:在没有输入时更新并在循环后保持空闲
6 回答
文本小部件tkin
3 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
2 回答
文本小部件tkinter复制图像选项
10 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
3 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
6 回答
文本小部件不显示lis中的内容
1 回答
文本小部件不显示Unicode字符
6 回答
文本小部件中写入的行间距
4 回答
文本小部件中的文本作为变量
1 回答
文本小部件中的滚动条仅显示在底部
8 回答
文本小部件中的选项卡键空间计数
5 回答
文本小部件作为Lis
8 回答
文本小部件在主框架中扩展列宽
4 回答
文本小部件未使用删除功能清除
10 回答
文本小部件滚动动画(Tkinter、Python)
10 回答
文本居中。格式正确吗?
1 回答
文本差分算法
6 回答
文本已知时音频文件中的单词索引
5 回答