2011-07-22 12 views
0

相互作用する2つのクラスを取得できません。ここで私は、ファイルyoutest.pyをインポートしています最初のクラスのコードは次のとおりです。相互作用する2つのクラスを取得する

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::機能外 'リターン'

希望私は、次の取得しますこの質問は助けてくれてありがとうございます。

+1

ここであなたの質問をすべて見てから、[チュートリアル](http://docs.python.org/tutorial)を読むことを強くお勧めします。それには – pillmuncher

+0

があります。多くの –

答えて

0

Pythonでは、これはサブクラス化する方法ではありません。

from youtest import MyTest 

class RunIt(MyTest): pass 

r = RunIt() 
r.iffit() 

r = MyTest()は正常に動作しますが、

あなたのSyntaxErrorは、あなたの空白の悪用によってトリガーされます。 Pythonの標準であるように、インデントレベルごとに4つのスペースを使用して、物事の構成を明確に見ることができます。

別の問題があります。return 'death'deathを呼び出しません。希望の場合はreturn death()にする必要があります。

最後に、death()exitで何もしません。ただ参考にしてください。あなたはexit()をする必要があります。

2

print "What is your name?"から始まる行は正しくインデントされません。 Pythonでは空白が重要です。

関連する問題