首页技术文章正文

python类属性和实例属性分别是什么?

更新时间: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中的类属性和实例属性。简单的说,类属性就是给类对象中定义的属性,通常用来记录与这个类相关的特征,而实例属性同一个类下面具体实例的属性,实例属性的值和同类下其他实例的属性值互不关联。


猜你喜欢:

Python类和实例详解

Python转换数据类型的函数有哪些?

如何理解python的面向对象与面向过程?

Python下载和安装图文教程

分享到:
在线咨询 我要报名
和我们在线交谈!