面对对象编程核心是“对象”二字,对象指的是盛放相关的数据与功能的容器
基于该思想编写程序就在创造一个个的容器来把相关的东西盛到一起
优点:拓展性强
缺点:加大了编程的复杂度
面对对象编程可以把对象的数据放在一个字典里,一个字典就是一个对象,也可以在外面定义一个函数,把函数名也放在字典里,这个字典有数据和功能,就是一个对象。
但是这样的对象太多了之后就会显得很乱,所有我们可以把他们其中相同的数据和功能函数放在一块,形成新的一个字典,在原来的字典中指向这个共同的字典。
显然这样写,当对象多的时候都找不到你想找的对象,所以python中有专门的语法来制造对象,这就是类。
类是用来解决对象之间代码冗余的问题的。
类定义阶段会发生3件事:
1.会执行类体代码
2.会产生一个类的名称空间,用来将类体代码运行过程中产生的名字都丢进去
3.将名称空间的内存地址绑定给类名
class Student: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender self.courses = [] def choose_course(self, course): self.courses.append(course)
调用类也发生了三件事:
1.会创建空对象(调用__new__方法来创建的空对象)
2.会自动触发类中__init__函数的运行,__init__()完成对象的初始化
3.返回该对象,赋值给调用的变量名
类中有两种属性
1.数据属性
2.函数属性
但是类中的属性其实是为对象准备的
1.类的属性是直接共享给所有对象用的
2.类的函数属性是绑定给对象用的
原文:https://www.cnblogs.com/yuxinplus/p/14649728.html