Python 中类属性和实例属性的区别

Python 中类属性和实例属性的区别

类和对像简介

类是如何定义某物的蓝图。它实际上不包含任何数据——它是一个模板,用于根据模板或蓝图中定义的规范创建实例。

类的对象是从类构建的实例,这就是为什么它也被称为类的实例。在本章和本书的其余部分,我们将同义地引用对象和实例。OOP中的对象偶尔由物理对象表示,如桌子、椅子或书籍。在大多数情况下,软件程序中的对象表示可能不是物理的抽象实体,如帐户、名称、地址和付款。

为了更新类和对象的基本概念,我们将用代码示例定义这些术语。

区别类属性和实例属性

类属性被定义为类定义的一部分,它们的值在从该类创建的所有实例中都是相同的。可以使用类名或实例名访问类属性,但建议使用类名访问这些属性(用于读取或更新)。对象的状态或数据由实例属性提供。

在Python中定义一个类只需使用class关键字即可。以下代码片段创建了一个Car类:

class Car:
	pass

如果你喜欢用汉字做类的名字(你是不是不知道这个功能),也是可以的:

class 小汽车类:
	pass

注意: 只有名字可以是汉字的,其它的类似 Python 关键字之类的,还是要遵循 Python 的规则。

此类没有属性和方法。它是一个空类,在我们向其添加更多组件之前,您可能会认为这个类毫无用处。不完全是!在Python中,您可以动态添加属性,而无需在类中定义它们。以下代码片段是一个有效的代码示例,我们在运行时向类实例添加属性:

class 小汽车类:
    pass

if __name__ == "__main__":
    小汽车  = 小汽车类()
    小汽车.颜色 = "红色"
    小汽车.品牌 = "问界 M9"
    print(小汽车.颜色)
    print(小汽车.品牌)

在这个扩展示例中,我们创建了小汽车类的一个实例(小汽车),然后向该实例添加了两个属性:颜色品牌。请注意,使用此方法添加的属性是实例属性。

接下来,我们将使用构造函数方法(__init__)添加类属性和实例属性,该方法在对象创建时加载。下面显示了一个包含两个实例属性(颜色品牌)和 __init__ 方法的代码片段:

class 小汽车类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dowhileprogramming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值