过程和函数
过程是早期的一个编程概念,类似于函数,只能执行,但是没有返回值。
函数不仅能执行,还可以返回结果。
面向过程(怎么做)
- 把完成某一个需求的所有步骤,从头到尾逐步实现。
- 根据开发需求,将某些功能独立的代码封装成一个又一个函数。
- 最后完成的代码即使顺序的调用不同的函数。
【特点】
- 注重步骤与过程,不注重职责分工
- 如果需求复杂,代码会变得很复杂
- 开发复杂项目,没有固定的套路,开发难度大
面向对象(谁来做)
- 在完成某一个需求前,首先确定职责,即要做的事情。
- 根据职责确定不同的对象,在对象内部封装不同的方法。
- 最后完成的代码,就是顺序的让不同的对象调用不同的方法。
【特点】
- 注重对象和职责,不同的对象承担不同的职责
- 更能应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
- 需要在面向过程基础上,再学习一些面向对象的语法
相比函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法
class Cat: def eat(self): # 哪个对象调用的方法,self就是哪个对象的引用 print("%s吃鱼" % self.name) # 方法中没有使用类中的变量 # 删除括号里的 self ,用 @staticmethod 声明为静态方法 @staticmethod def drink(): print("喝水") # 创建猫对象 tom = Cat() # 可以使用 .属性名 利用赋值语句 就可以了 tom.name = "Tom" tom.eat() tom.drink() print(tom) # 再创建一个猫对象 lazy_cat = Cat() lazy_cat.name = "Jack" lazy_cat.eat() lazy_cat.drink() print(lazy_cat)