-1

私はPythonの新入生で、クラスで本当に苦労しています。したがって、コンストラクター、セレクターなどを使用して、Positionsという名前のクラスを作成する必要があります。コンストラクターは2intを受け取り、2 intによって作成された位置を返すことになっているため、数値2,3を受け取ると、位置(2,3)が返されます。オンラインで読んだ後、初めて授業をします。

これの何が問題になっていますか?

class Position:    
    def __init__(self,column,line):
        self.c = column
        self.l = line

    def position(self):
        return (self.c,self.l)

もう1つは、彼らが私にポジションを与え、私がラインだけを返さなければならない場所です。したがって、彼らが私に(2,3)を与えた場合、それは3を返すはずです。

 def position_line(self):
    return self.l

ヒントを教えてください:)

4

2 に答える 2

1

すべて問題ないようです。インスタンス変数の前にアンダースコアを追加するだけです。これは、これらの変数がプライベートであることを示すための Python の規則です。後で詳しく説明します。

class Position:    
    def __init__(self,column,line):
        self._c = column
        self._l = line

    def position(self):
        return (self._c,self._l)

これは、コードを読んでいる他の人に、これらの変数がプライベートであり、クラスの外部からアクセスしてはならないことを示しています。

于 2012-12-12T00:53:37.417 に答える
0

コードに問題はありません。次のように実行できます。

    p = Position(2, 3)
    p.position_line()

これで 3 が出力されます。これが役に立てば幸いです。

于 2012-12-12T01:49:04.730 に答える