Python中的类class
概述
在Python的类中,有着类属性、实例属性,静态方法、类方法、实例方法的区别。到底有什么不一样呢?接下来我们就一探究竟。
类属性、实例属性
来看下简单的Student
类的例子
class Student(object):
# 类属性
school = '井冈山大学'
def __init__(self, name):
# 实例属性
self.name = name
其中school
是Student
类的类属性,name
则是实例属性。
在ipython
中测试一下如何访问其属性
In [5]: stu1 = Student('hui')
In [6]: stu2 = Student('wang')
In [7]: stu3 = Student('zack')
In [8]: stu1.name, Student.school
Out[8]: ('hui', '井冈山大学')
In [9]: stu2.name, Student.school
Out[9]: ('wang', '井冈山大学')
In [10]: stu3.name, Student.school
Out[10]: ('zack', '井冈山大学')
# 看看实例对象能不能访问类属性,类对象能不能访问实例属性
In [11]: stu1.name, stu1.school
Out[11]: ('hui', '井冈山大学')
In [12]: Student.name, stu1.school
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-12-b897e001b174> in <module>
---->