创建一个 returns 对象的函数
create a function that returns an object
我需要指导来创建一个 return 是 class Car 的实例化对象的函数。
必须具备以下属性:
-model(字符串数据类型值)
-公里(整数数据类型值,必须初始化为零)
-颜色(字符串数据类型值)
并且必须有以下方法:
-AddKilometers(此方法必须向公里属性加一,并且必须 return 该值)。
它接收两个参数:
-model:要分配给 Car class 对象的 'model' 属性的数据。
-color:要分配给 Car class 对象的 '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
我的问题是当我 运行 代码没有任何反应我做错了什么?
你可以试试这个:
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
您似乎对如何最好地编写 类 和函数有些困惑。让我们重写您的代码:
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
您必须将需要的属性作为参数添加到 __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 时运行,它会 return 一个对象。所以,你可以这样做:
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 的推荐方法。
我需要指导来创建一个 return 是 class Car 的实例化对象的函数。
必须具备以下属性:
-model(字符串数据类型值)
-公里(整数数据类型值,必须初始化为零)
-颜色(字符串数据类型值)
并且必须有以下方法:
-AddKilometers(此方法必须向公里属性加一,并且必须 return 该值)。
它接收两个参数:
-model:要分配给 Car class 对象的 'model' 属性的数据。 -color:要分配给 Car class 对象的 '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
我的问题是当我 运行 代码没有任何反应我做错了什么?
你可以试试这个:
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
您似乎对如何最好地编写 类 和函数有些困惑。让我们重写您的代码:
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
您必须将需要的属性作为参数添加到 __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 时运行,它会 return 一个对象。所以,你可以这样做:
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 的推荐方法。