有一天,一个QQ群里的朋友告诉我,他有个作业。
想实现以下的功能:
通讯录,可以:
1,增加一条记录
2,查询记录
3,显示所有记录
4,删除一条记录
5,更新一条记录
记录的内容包括:firstname,lastname,number,address。
之前呢,他用list列表,和流程的形式,实现了一个解决方案,现在想用类来实现,我真是教了他好久。
教的过程中,发现自己也很有收获,那么就记录一下吧。
1,我理解的类。
所谓的类,是真实的从现实生活中抽象出来的概念,定义是:拥有同样的属性,和同样的方法的实例抽象集合。
这话听起来就很难,那么我们就举个例子好了:人类。
人类就是一个类(这不是废话吗),
人类都有同样的属性:比如,身高,视力,体重。
人类都有同样的方法:比如,挥手,点头,走路。
在python中,类也是这样的概念,如果用伪代码定义一下,就是这样的
class 人类(object): def 设置属性(self,输入身高): self.身高 = 输入身高 def 展示自己有多高(): print(self.身高)
那么我们就定义了一个类,叫人类。
好,现在我们要定义一个实例,实例,就是符合类的标准的一个具体的例子
1 孙超 = 人类()
好,我成为了一个光荣的人类了!(好别扭),那么我就有了属性,就是身高
孙超.设置属性(184)
self是不用调用的,那么我们通过设置身高的属性,就把我的属性 身高的值,给定义了!
你明白了吗,所有实例都有:身高,这个属性,但是实例和实例的值,未必相同。
1 孙超.展示自己有多高(): 2 184
我又多了一个方法,叫展示自己有多高,后面的是输出,184
那么你现在有没有理解类,和实例呢?