讀取問題蟒蛇「類」字問題的探析
編寫具有以下數據屬性一類名爲汽車:
__year_model
(用於汽車的年型)
__make
(用於汽車的化妝汽車)
__speed
(用於汽車的當前速度)
的T他的汽車類應該有一個接受汽車年模型並作爲參數的方法。它還應該將0賦值給__speed
數據屬性。
類也應該有以下幾種方法:
•加快 的加速方法應該添加5〜每次調用實時數據屬性的速度。
•制動器 制動方法每次調用時應該從速度數據屬性中減去5。
•該get_speed 的get_speed方法應該返回當前速度
接下來,設計,創建一個汽車對象的程序,然後調用加速方法五倍。在每次調用加速方法後,獲取汽車的當前速度並顯示它。然後調用制動方法五次。在每次調用制動方法後,獲取汽車的當前速度並顯示它。
我收到提示TypeError: __init__() missing 3 required positional arguments: 'year', 'make', and 'speed'
我的代碼:
#create class called car
class Car:
def __init__(self,year,make,speed):
self.__year_model=year
self.__make=make
self.__speed=0
#set the arguments for speed,year, and make
def set_year_model(self,year):
self.__year_model=year
def set_make(self,make):
self.__make=make
def set_speed(self,speed):
self.__speed=0
#the returns for speed, year, and make
def get_year_model(self):
return self.__year_model
def get_make(self):
return self.__make
def get_speed(self):
return self.__speed
#methods
def accelerate(self):
self.speed +=5
def brake(self):
self.speed-=5
def get_speed(self):
return self.speed
#actuall program
#create car object
def main():
my_car=Car()
year=print(input('car year: '))
make=print(input('car make: '))
speed= print('Current speed is 0')
#accelerate 5 times
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
#brake five times
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
main()
你實際上是一門Python課程嗎?所有'get_'和'set_'都不是必須的......事實上,在Python中使用類是一個相當可怕的介紹... –
此外,雙下劃線屬性也是非常糟糕的形式。如果你不知道你爲什麼需要他們,你不應該使用他們。 – zigg