Python中文
首页
教程
问答
标签
搜索
登录
注册
python中的类需要guidan
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在下面代码的最后一行:<code>studySpell(Confundo()</code> 函数<code>studySpell</code>将<code>Confundo</code>类的一个新实例赋给<code>spell</code>。我的问题是,在执行从第二行到最后一行之后,<code>spell.incantation</code>为什么返回<code>'Accio'</code>?它不应该返回<code>'Confundo'</code>吗?你知道吗</p> <pre><code>class Spell(object): def __init__(self, incantation, name): self.name = name self.incantation = incantation def __str__(self): return self.name + ' ' + self.incantation + '\n' + self.getDescription() def getDescription(self): return 'No description' def execute(self): print(self.incantation) class Accio(Spell): def __init__(self): Spell.__init__(self, 'Accio', 'Summoning Charm') class Confundo(Spell): def __init__(self): Spell.__init__(self, 'Confundo', 'Confundus Charm') def getDescription(self): return 'Causes the victim to become confused and befuddled.' def studySpell(spell): print(spell) >>> spell = Accio() >>> spell.execute() Accio >>> studySpell(spell) Summoning Charm Accio No description >>> studySpell(Confundo()) Confundus Charm Confundo Causes the victim to become confused and befuddled. >>> print(spell.incantation) Accio </code></pre> <p>如果你不明白我的意思,让我知道我会尽量多说教。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><code>studySpell</code>函数不“赋值”给<code>spell</code>变量(全局变量)。它创建了一个新的局部变量(也称为<code>spell</code>),该变量隐藏了全局<code>spell</code>变量,并在函数执行完毕后消失。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
1 回答
文本小部件:在没有输入时更新并在循环后保持空闲
6 回答
文本小部件tkin
7 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
1 回答
文本小部件tkinter复制图像选项
3 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
6 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
6 回答
文本小部件不显示lis中的内容
3 回答
文本小部件不显示Unicode字符
7 回答
文本小部件中写入的行间距
6 回答
文本小部件中的文本作为变量
2 回答
文本小部件中的滚动条仅显示在底部
3 回答
文本小部件中的选项卡键空间计数
7 回答
文本小部件作为Lis
1 回答
文本小部件在主框架中扩展列宽
1 回答
文本小部件未使用删除功能清除
2 回答
文本小部件滚动动画(Tkinter、Python)
4 回答
文本居中。格式正确吗?
10 回答
文本差分算法
8 回答
文本已知时音频文件中的单词索引
9 回答