我该怎么做呢?
class car:
def __init__(self, tires, color, age):
self.tires = tires
self.color = color
self.age = age
def gTires(self):
return self.tires
def gColor(self):
return self.color
def gAge(self):
return self.age
car1 = car(3, "Red", "1996")
carTires = car1.gTires
carColor = car1.gColor
carAge = car1.gAge
print("Your car 'car1' is done. It has " + carTires + " tires, is " + carColor + " and was made year " + carAge)
print()
print("But I heard you wanted it to have four tires?")
print("No problem (right?).")
car1 = car((car1.gTires + 1), (car1.gColor), (car1.gAge))
所以我的问题是关于如何使用属性的,是否必须像一开始那样设置所有变量?我的意思是,我不希望它们成为实例方法,但是如果我不设置它们,它们似乎会成为实例方法。另外,在最后一行,我想更改car1拥有的轮胎数的值,但我不想更改所有其他属性。有没有可以在不设置所有其他属性的情况下执行此操作的方法?
抱歉,如果这没有道理,请问我是否难以理解我的问题。
您无需在创建实例属性时就对其进行设置;您可以随时说或多或少地设置它self.foo = bar
。您可以在类实例的函数中或在其他函数中,也可以在主代码中完成此操作。在分配它之前,您甚至不需要声明它。如果在某个时候您确定汽车具有doors
属性,那么您就可以给任何汽车实例一个属性,而不会遇到任何麻烦。这样对象非常灵活。只需说一下,即可更改轮胎数量car1.tires = 453
。
private/public
更改属性没有任何问题或其他麻烦。您不需要像Java这样的语言中的getter和setter,因为它们反正不会保护您的变量。您可以从任何地方直接访问它们(这使我的Java程序员有点胆怯,但这就是Python的工作方式)。
另外,要使用类函数,您需要说car1.gTires()
而不是car1.gTires
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句