Как напечатать возвращаемое значение метода в классе? - PullRequest
0 голосов
/ 03 мая 2018

Я работал над онлайн-уроком по классу в Python, затем я хотел попытаться создать функцию, которая выводит значение в результате возврата других функций. Вот код:

from abc import ABCMeta, abstractmethod

class Vehicle(object):

    __metaclass__ = ABCMeta

    base_sale_price = 0
    wheels = 0

    def __init__(self, miles, make, model, year, sold_on):
        self.miles = miles
        self.make = make
        self.model = model
        self.year = year
        self.sold_on = sold_on

    def sale_price(self):
        if self.sold_on is not None:
            return 0.0
        return 5000.0 * self_wheels

    def purchase_price(self):
        if self.sold_on is None:
            return 0.0
        return self.base_sale_price - (.10 * self.miles)

    def spec(self):
        x = self.sale_price
        y = self.purchase_price

        print "This car should sell at: ", x 
        print "This car should be bought at: ", y

    @abstractmethod
    def vehicle_type():
        pass

class Car(Vehicle):

    base_sale_price = 8000.0
    wheel = 4

    def vehicle_type(self):
        return 'car'

class Truck(Vehicle):

    base_sale_price = 10000.0
    wheels = 4

    def vehicle_type(self):
        return 'truck'

AE86 = Truck(4, 35000, 'Toyota', 'AE86', 1986, )
print AE86.sale_price()

Вот что я получаю: This car should sell at: <bound method Truck.sale_price of <__main__.Truck object at 0x10666da50>> This car should be bought at: <bound method Truck.purchase_price of <__main__.Truck object at 0x10666da50>>

Что я делаю не так? Как мне сделать возвращаемое значение методов, чтобы показать ??

1 Ответ

0 голосов
/ 03 мая 2018

похоже, у вас есть опечатка в def sale_price(self):

return 5000.0 * self.wheels не return 5000.0 * self_wheels

в def spec(self): вы не вызываете методы класса, вы хотите.

def spec(self):
    x = self.sale_price()
    y = self.purchase_price()
    print "This car should sell at: ", x 
    print "This car should be bought at: ", y
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...