在本文中,我们将重点关注Python 类属性和实例属性。
属性是编程语言的关键角色。它们负责保存重要的数据值并帮助进行数据操作。
现在让我们开始吧!
理解Python类属性
Python Class Attribute
是包含在类中的属性/变量。也就是说,它的范围位于Python 类内。
Class 属性仅创建其自身的单个副本,并且该单个副本由该特定类中的所有函数和对象共享和使用。
句法:
class Class - name: variable = value |
现在让我们通过下面的示例来了解其实现。
通过示例实现类属性
class class_attribute: val = 1 def product( self ): class_attribute.val * = 10 print (class_attribute.val) obj1 = class_attribute() obj1.product() obj2 = class_attribute() obj2.product() |
在此示例中,我们创建一个类变量“val”并将其初始化为 1。
此外,我们在函数 Product() 中访问变量“val”,并通过将其乘以 10 来操作该值。
可以清楚地观察到,创建的两个对象都使用变量“val”的相同副本。因此,一开始,val = 1。
当对象 obj1 调用该函数时,使用“val”的相同副本(该值不会重置),因此它变为 val=10。被 obj2 调用时,val 变为 val*10,即 10*10 = 100。
输出:
10 100 |
了解 Python 实例属性
Python Instance attribute
是一个局部属性/变量,其范围位于使用该属性的特定函数内。因此,它被一个特定的函数所包围。
实例属性每次被函数/对象调用时都会创建其自身的新副本。也就是说,每次对象或函数尝试访问该变量时,都会使用该变量的一个不同副本。
句法:
def function - name(): variable = value |
现在让我们借助示例来实现本地属性。
通过示例实现实例属性
class instance_attribute: def product( self ): val = 20 val * = 10 print (val) obj1 = instance_attribute() obj1.product() obj2 = instance_attribute() obj2.product() |
在此示例中,我们将实例属性声明并初始化为 val = 20。
此外,当 obj1 尝试通过函数访问变量时,它会创建自己的新副本,将默认值重置为初始化值,然后提供对其的访问。
当 obj2 尝试访问实例变量“val”时,会重复相同的情况。
输出:
200 200 |
结论
至此,我们这个话题就结束了。如果您遇到任何问题,请随时在下面发表评论。