我需要指導來創建一個回傳 Car 類的實體化物件的函式。
它必須具有以下屬性:
-model(字串資料型別值)
-kilometers(整數資料型別值,必須初始化為零)
-Color(字串資料型別值)
并且必須有以下方法:
-AddKilometers(此方法必須將公里屬性加一并且必須回傳該值)。
它接收兩個引數:
-model:要分配給 Car 類物件的“模型”屬性的資料。-color:要分配給 Car 類物件的“Color”屬性的資料。
這是我的進步:(我是python學習者,所以你會看到我的代碼有很多錯誤)
def ClassCar(model, color):
class Cars:
def __init__(self):
self.kilometres = 0
self.model= model
self.color = color
def AddKilometres (self):
self.kilometres = 1
return self.kilometres
return Cars(model,color)
如何執行函式的示例:
c1 = ClassCar('ford','black')
c1.AddKilometres() -> 1
c1.AddKilometres() -> 2
c1.AddKilometres() -> 3
我的問題是當我運行代碼時沒有任何反應我做錯了什么?
uj5u.com熱心網友回復:
您必須將所需的屬性作為引數添加到__init__()方法中。
def ClassCar(model_name, color_name): # changed variable names to avoid confusion
class Cars:
def __init__(self, model, color): # add parameters here
self.kilometres = 0
self.model = model
self.color = color
def AddKilometres(self):
self.kilometres = 1
return self.kilometres
return Cars(model_name, color_name)
c1 = ClassCar('ford', 'black')
print(c1.AddKilometres())
print(c1.AddKilometres())
print(c1.AddKilometres())
順便說一句,您不必為此撰寫自己的函式。默認情況下,該__init__()方法在您實體化一個類時運行,它會回傳一個物件。所以,你可以這樣做:
class Cars:
def __init__(self, model, color): # add parameters here
self.kilometres = 0
self.model = model
self.color = color
def AddKilometres(self):
self.kilometres = 1
return self.kilometres
c1 = Cars('ford', 'black')
print(c1.AddKilometres())
print(c1.AddKilometres())
print(c1.AddKilometres())
后者實際上是更好的做法,也是推薦的方法來做這個 AFAIK。
uj5u.com熱心網友回復:
你可以試試這個:
class Car():
def __init__(self, model, color):
self.model = model
self.color = color
self.kilometres = 0
def AddKilometers(self):
self.kilometers = 1
return self.kilometres
并像這樣呼叫:
car = Car('ford','black')
print(car.AddKilometres()) # velocity = 1
print(car.AddKilometres()) # velocity = 2
print(car.AddKilometres()) # velocity = 3
uj5u.com熱心網友回復:
您似乎對如何最好地撰寫類和函式有點困惑。讓我們重新撰寫您的代碼:
class Car:
def __init__(self, model, colour):
self.model = model
self.colour = colour
self.km = 0
def add_km(self):
self.km = 1
return self.km
def __repr__(self):
return f'Model={self.model}, colour={self.colour}, km={self.km}'
car = Car('Ford', 'black')
print(car)
print(car.add_km())
print(car)
輸出:
Model=Ford, colour=black, km=0
1
Model=Ford, colour=black, km=1
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/437076.html
