类必须先定义再使用
类的定义与函数定义是一样的, 都要遵循先定义再使用
s2 = Student() # 此处无法使用类来创建对象
class Student:
pass
可以在if
语句中甚至函数中定义类
if True:
class Student:
pass
s1 = Student()
print(s1)
使用类的时候, 一定要保证类被已经被定义了.
类的主体
类主体中都可以定义什么?
在 python 中类可以定义:
1. 字段(field
, 在国内很多人叫属性)
在 pytyon 中字段分 2 种:
实例变量(Instance Variables): 他存储的值是属于每一个对象的, 或者对不同的对象来说他们是独立. 就像人的私有财产
类变量(Class Variables): 他存储的值是属于类本身的, 而不是属于某一个具体的对象, 或者说他是被所有的对象所共有的. 就像公共财产
2. 方法
方法就是我们以前学习的函数, 只是同类扯上关系了而已!
在 python 中的方法分 3 种:
实例方法. 和实例变量一样, 他是属于对象的. 实例方法相比普通的函数有一个比较特殊的地方:第一个形参总是会自动传入这个实例(对象)
类方法 和类变量一样, 是属于类的. 类方法与实例方法的区别在于第一个参数: 类方法的第一个参数总是这个类本身.
静态方法 静态方法和实例没有任何关系. 它仅仅是定义在类中而已, 这个时候类就相当于这个方法的命名空间.