Python返回调用类对象

时间:2013-02-17 02:05:00

标签: python class methods return

我正在用Python创建一个名为House的课程。它有实例变量,例如街道名称和街道号码。

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

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

当你致电&#34; h&#34;时,程序应该返回&#34; 1234 Main Street&#34;代替。我该如何处理这个问题?

2 个答案:

答案 0 :(得分:4)

您想要定义一个返回字符串表示形式的__str__方法。例如:

class House:
    # other methods
    def __str__(self):
        return "%d %s" % (self.street_number, self.street_name)

答案 1 :(得分:0)

  

.... Python中的一个名为House的类。它有实例变量......

一个类没有实例变量。实例有

'variable'在Python中是一个令人困惑的词 Python不向开发者提供“变量”(= box),只提供对象 人们容易混淆地称之为'变量'的是大多数时候标识符(=名称)....或者可能......什么......我不知道他们不知道自己,因为没有变量在Python中使用开发者....

如果它不是可调用对象(类,函数......),则无法调用h

您所谓的“呼叫”只是要求Python向您展示对象 h 。因为它不是一个简单的对象,而是一个整数或一个字符串,而是一个实例,也就是说一个属性作为数据属性和方法的对象,Python并没有广泛地向您展示具有其所有属性的实例。属性的值(对于某些实例可能很长),它向您提供实例的简短描述,说明它是哪个类的实例,并给出其地址。