0

私はHouseというPythonのクラスを作っています。ストリート名やストリート番号などのインスタンス変数があります。

h = House(1234, "main street")
>>>h.street_name
Main Street
>>>h.street_number
1234

>>>h
<__main__.House object at 0x27ffbd0>

「h」を呼び出すと、プログラムは代わりに「1234MainStreet」を返すことになっています。この問題にどのように取り組むべきですか?

4

2 に答える 2

4

__str__文字列表現を返すメソッドを定義したいとします。例えば:

class House:
    # other methods
    def __str__(self):
        return "%d %s" % (self.street_number, self.street_name)
于 2013-02-17T02:08:27.337 に答える
0

....House と呼ばれる Python のクラス。インスタンス変数があります....

クラスにはインスタンス変数がありません。インスタンスには

.

「変数」は、Python では紛らわしい単語です。
Python は開発者に「変数」(= ボックス) を提供せず、オブジェクトのみを提供します。
人々が紛らわしく「変数」と呼んでいるものは、ほとんどの場合、識別子 (= 名前) です... または多分 ... 何... 私にはわかりませんし、彼ら自身もわかりません。 Python での開発者の使用....

.

h呼び出し可能なオブジェクト (クラス、関数など) でない場合は呼び出すことができません。

あなたが「呼び出し」と呼んでいるものは、オブジェクトhを提示するという Python への単純な要求です。これは整数や文字列のような単純なオブジェクトではなく、インスタンス、つまりデータ属性とメソッドである属性を持つオブジェクトであるため、Python はインスタンスをそのすべての属性と属性の値 (特定のインスタンスでは長くなる場合があります) を入力すると、インスタンスの簡単な説明が表示され、そのインスタンスがどのクラスであるかが示され、そのアドレスが示されます。

于 2013-02-17T02:18:42.117 に答える