如何在类中打印出int值?

时间:2017-05-23 18:07:03

标签: python

我目前正在学习在python中创建一个类。我输入了int值,它似乎根本不会打印int值。有什么我做错了吗? 这是我目前的代码:

class Cars:
    def __init__ (self, model, Type, price):
        self.model  = 'Model:'+ model
        self.Type= 'Type:'+ Type
        self.price= price

    def fullname(self):
        return '{} {}'.format(self.model, self.Type)

    def Price(self):
        return 'Price:'.format(self.price)


car_1= Cars('CLA','Coupe', 34000)
car_2= Cars('GLA','SUV', 38000)

print(Cars.fullname(car_1))
print(car_1.Price())
print(car_2.fullname())
print(car_2.Price())

输出:

Model:CLA Type:Coupe
Price:
Model:GLA Type:SUV
Price:

我想在Price下打印出价格值。

如果有人可以提供帮助,我将不胜感激。如果有类似问题的链接,请尽可能链接。谢谢。

1 个答案:

答案 0 :(得分:1)

你错过了{}。见https://docs.python.org/2/library/string.html#string.Formatter

def Price(self):
    return 'Price: {}'.format(self.price)

此外,您命名的方法(Price)与成员(price)非常相似。

  • 如果您想告诉班级打印该值,您应该调用类似printPrice的方法。通过描述操作的内容来命名方法是一种很好的做法。
  • 如果您只想获得该会员,请使用<object>.<member>
  • 如果你真的需要在返回之前对成员做些什么,也就是说,你想要将类的内部工作隐藏到外面,然后使用Properties or Descriptors。但这种情况更为先进,只有在真正需要时才能使用。