python 面向对象六 类属性和实例属性

Posted 魂~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 面向对象六 类属性和实例属性相关的知识,希望对你有一定的参考价值。

一、实例属性

Python是动态语言,根据类创建的实例可以任意绑定属性。

 1 >>> class Student(object):
 2 ...     def __init__(self, name):
 3 ...         self.name = name   # 每个实例必须的属性
 4 ... 
 5 >>> s = Student(Jack)
 6 >>> s.score = 90    # 任意绑定属性
 7 >>> s.name
 8 Jack
 9 >>> s.score
10 90

二、类属性

直接在class中定义属性,这种属性是类属性,归Student类所有。

 1 >>> class Student(object):
 2 ...     name = Jack   # 类属性
 3 ... 
 4 >>> Student.name        # 获取类属性
 5 Jack
 6 >>> s = Student()
 7 >>> s.name              # 获取类属性
 8 Jack
 9 >>> s.name = Mike     # 添加实例属性
10 >>> s.name              # 获取实例属性
11 Mike
12 >>> Student.name        # 获取类属性
13 Jack

在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。

以上是关于python 面向对象六 类属性和实例属性的主要内容,如果未能解决你的问题,请参考以下文章

Python面向对象编程

Python面向对象编程

Python面向对象编程

Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

python之路之前没搞明白4面向对象(封装)

Python面向对象—类属性和实例属性