更改和传递对象的属性

PhP

我该怎么做呢?

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#-传递属性已更改的对象

来自分类Dev

如何传递函数的对象和属性

来自分类Dev

将对象传递给Method并更改属性

来自分类Dev

属性更改与TemplateSelector和LongListSelector问题中的对象的分组列表

来自分类Dev

更改对象的属性

来自分类Dev

更改PowerPoint对象的属性

来自分类Dev

更改javafx对象属性

来自分类Dev

更改对象的属性

来自分类Dev

属性应该传递对象吗?

来自分类Dev

在动作与属性中传递对象

来自分类Dev

Xamarin MVVM传递对象属性

来自分类Dev

属性应该传递对象吗?

来自分类Dev

比较两个对象列表以获取特定属性上的新对象,更改对象和更新对象

来自分类Dev

比较两个对象列表以获取特定属性上的新对象,更改对象和更新对象

来自分类Dev

传递对象属性以生成属性名称数组

来自分类Dev

JsonConverters和对象属性

来自分类Dev

perl对象和属性

来自分类Dev

对象属性和变量

来自分类Dev

结合对象和属性

来自分类Dev

对象和属性

来自分类Dev

更改对象的嵌套属性

来自分类Dev

python对象更改属性

来自分类Dev

JavaScript更改特定对象的属性

来自分类Dev

动态更改对象属性

来自分类Dev

python对象更改属性

来自分类Dev

JavaScript更改特定对象的属性

来自分类Dev

更改对象的嵌套属性

来自分类Dev

更改 jquery 对象的“名称”属性

来自分类Dev

快速更改擦除对象属性