更新时间:2020-09-11 来源:黑马程序员 浏览量:
实例属性即同一个类的不同实例,其值是互不关联的,也不会互相影响的,定义时使用“self.属性名”,调用时也使用“self.属性名”。
类属性则是同一个类的所有实例所共有的,直接在类体中独立定义,引用时要使用“类名.类变量名”形式来引用,只要是某个实例对其进行修改,就会影响其他的所有这个类的实例。
简单的说,Python中类属性就是给类对象中定义的属性,通常用来记录与这个类相关的特征。注意:类属性不会用于记录具体对象的特征。
下面通过案例演示:
案例需求:
·定义一个工具类
·每件工具都有自己的name
·需求 —— 知道使用这个类,创建了多少个工具对象?
class Tool(object):
# 使用赋值语句,定义类属性,记录创建工具对象的总数
count = 0
def __init__(self, name):
self.name = name
# 针对类属性做一个计数+1
Tool.count += 1
# 创建工具对象
tool1 = Tool("斧头")
tool2 = Tool("榔头")
tool3 = Tool("铁锹")
# 知道使用 Tool 类到底创建了多少个对象?
print("现在创建了 %d 个工具" % Tool.count)
以上我们介绍了,什么是Python中的类属性和实例属性。简单的说,类属性就是给类对象中定义的属性,通常用来记录与这个类相关的特征,而实例属性同一个类下面具体实例的属性,实例属性的值和同类下其他实例的属性值互不关联。
猜你喜欢: