3

より明確にするために、これを再投稿するようにアドバイスされました。

クラスをやって、残りを除いてこれを終えました。任意のガイダンスをいただければ幸いです。質問を短くするために、私が立ち往生している質問の一部を導き出しました。私の作品も添付します。

以下の作業で、1 つの変数を含むクラスを作成できると期待しています。その変数を変更して、新しい変数を出力できるようにしたいと考えています。例として、値を horns = 2 から horns = 4 に変更します。この質問では、以下の 3 つの関数を使用して質問に答えるよう具体的に求めています。現在のコードでは、raw_input プロンプトで値を入力するとエラー メッセージが表示されます。

助けてくれてありがとう。

次のように質問します。

独自のプロパティを保持する 1 つの変数を持つクラスを作成します。次の 3 つの方法を提供します。

getvariable1() - return キーを使用してプロパティ 1 の値を返す

setvariable1() - これにより、プロパティ 1 に新しい値を指定できるようになります。入力を受け入れるために追加のパラメーターが必要です。

printerfun() - オブジェクトの変数の値を出力します。

クラスの独自のオブジェクトを作成し、作成したオブジェクトの get & set メソッドを呼び出します。コードが機能するかどうかを確認するには、printerfun() メソッドを使用します。

私の仕事:

class animal:
    horns = 2

    def printerfun(self):
        print getHorns() 

    def getHorns(self): #don't get where I should call this
        return self.horns

    def setHorns(horns): 
        self.horns = horns

animal_1 = animal()

F1 = raw_input('Please enter number of horns: ')
setHorns(F1) 
4

2 に答える 2

1

これはあなたが手に入れたいものですか?

class animal: 
    horns = 2

    def printerfun(self):
        print self.getHorns() 

    def getHorns(self):
        return self.horns

    def setHorns(self, horns): 
        self.horns = horns

if __name__ == "__main__"
    animal_1 = animal()
    animal_1.printerfun()

    F1 = raw_input('Please enter number of horns: ') 
    animal_1.setHorns(F1)
    animal_1.printerfun()
    horns = animal_1.getHorns()
    print(horns)

これは以下を出力します:

>>> 2
>>> Please enter number of horns: 4
>>> 4
>>> 4
于 2013-01-30T21:02:04.253 に答える
1

setHorns存在しない:animal.setHornsあります。クラスメソッドです

Object Oriented Programmingについて少し読む必要があるようです。これは、関連するクラスがあるときに使用されるプログラミングのスタイルです。

animal この特定の演習では、オブジェクトを作成する必要があります。そのためには、クラスをインスタンス化する必要があります。これが で行ったことですanimal_1 = animal()animal_1クラスのオブジェクトになり、animalそのメソッドを呼び出すことができます。animal_1.setHorns(2)

まだ概念に苦労している場合は、Python でより詳細なチュートリアルを読むことをお勧めします。

于 2013-01-30T21:03:53.900 に答える