对象:特征与技能的结合体,就是对象。
类:从一组对象中,提取相似的部分。
总结:在python中,用变量表示特征,用函数表示技能。因此,类是变量与函数的结合体。
对象是变量与方法(指向类的函数)的结合体。
类:有两种作用:属性引用和实例化。类的变量camp,一般定义为不可变量。
1,实例化(__init__与self)
a,类名+括号,就是实例化。
自动触发__init__函数的运行,定制每个特例自己的特征。
b, self 的作用实在实例化时,自动将对象/实例本身传给_init__的第一个参数。self可以是任意名字。
2,类的属性引用。(类名.变量名)
引用名字。(类名.变量名。。。。类名.函数名):变量和函数,绑定方法
类名,属性。
a ,类的属性,变量和函数
3,查看类的名称空间__dict__,得到字典
实例:又称为对象,本身只有特征
1,属性引用:对象本身就只有特征(变量)。(实例名.类的变量。。。。实例名.绑定方法。。。实例名.实例自己的变量名)
面向对象的程序设计ood
找对象---》找类(归纳对象相同的特征与技能,还有每个对象独有的特征)
面向对象编程oop
先定义类----》实例化对象
类的属性
类有两种属性:数据属性和函数属性
1. 类的数据属性,是所有对象共享的
2. 类的函数属性,是绑定给对象用的
类的变量,一般为不可变数据类型。
对象与类的名称空间,类变量的关系,共享
类的函数属性,是所有对象那个共有的技能。
在obj.name会先从obj自己的名称空间里找name,找不到则去类中找,类也找不到就找父类...最后都找不到就抛出异常 。
注意:绑定到对象的方法的这种自动传值的特征,决定了在类中定义的函数都要默认写一个参数self,
self可以是任意名字,但是约定俗成地写出self。