我无法让两个班级进行互动。这是我导入文件youtest.py的第一个类的代码:
from youtest import MyTest
class RunIt(object):
def __init__(self):
self.__class__ = MyTest
r = RunIt()
r.iffit()
我正在尝试通过这个类运行类MyTest(下面的代码):
from sys import exit
class MyTest(object):
def death(self):
exit
def iffit(self):
oh_no = raw_input(">")
print "What is your name?"
if oh_no == "john":
print "welcome john"
else:
print "game over"
return 'death'
当我运行时,我得到以下内容:
文件“youtest.py”,第19行 回归“死亡” SyntaxError:'return'在函数外部
希望这个问题很清楚,谢谢你的帮助。
答案 0 :(得分:2)
从print "What is your name?"
开始的行没有正确缩进。在python中,空白是重要的。
答案 1 :(得分:0)
在Python中,这不是如何子类化。
from youtest import MyTest
class RunIt(MyTest): pass
r = RunIt()
r.iffit()
虽然在此示例中r = MyTest()
可以正常工作。
您的SyntaxError
是由于误用空格而触发的。每个缩进级别使用四个空格,这是Python中的标准,因此您可以清楚地看到事物的组织。
您还有另一个问题:return 'death'
无法调用death
,如果您想要的话,则需要return death()
。
最后,death()
不会对exit
执行任何操作,只需参考它即可。您需要exit()
。