类的属性,可以称为成员变量
类的方法,可以称为成员函数
对象的创建
- 创建对象的过程称之为实例化:当一个对象被创建后,包含三个方面的特性:对象句柄、属性和方法。
- 句柄用于区分不同的对象(实例化出来的对象的名称可以称之为句柄)
- 对象的属性和方法与类中的成员变量和成员函数对应
- obj = myclass() 创建类的一个实例(对象)
- 通过对象来调用方法和属性
类的属性
- 类的属性按照使用范围分为共有属性和私有属性,类的属性范围取决于属性的名称。
- 共有属性:在类中和类外都能调用的属性
- 私有属性:不能在类外调用的属性
- 定义方式:以'__'双下滑线开始的成员变量就是私有属性
- 可以通过instance._classname__attribute方式访问
- 内置属性:由系统在定义类的时候默认添加的,又前后双下划线构成,(__dict__,__module__)
例子
class People(object): color = 'yellow' __age = 30 def say(self): self.color = 'back' print self.color print self.__age ren = People() ren.say() ren.color = 'white' ② ren.__dict__ People.__dict__ ③ ren.__age ①
①:由于__age是内部变量 ,所以无法在class外部调用,我们一般把类的私有属性,在类的成员函数中调用,这样我们就可以在外部来调用类的成员函数来调用内部变量,或者使用ren._People__age注意累的名字前要加_,一般只在测试用!
③__dict__内置函数,通过对象调用它,会把成员函数中的变量,以字典的形式存储,如果通过类调用它,它会列出类中的所有运行过程中产生的变量,并且以字典存储。
②通过实例化的对象,我们就可以去修改对象的属性,但是不会影响类的成员属性