首先我们可以看一下面向过程式编程
# 面向过程编程 测量对象的元素个个数。 s1 = 'fjdsklafsjda' count = 0 for i in s1: count += 1 l1 = [1,2,3,4] count = 0 for i in l1: count += 1 面向过程编程
再来看一下函数式编程
def func(s): count = 0 for i in s: count += 1 return count func('fdsafdsa') func([1,2,3,4]) 函数式编程
看了面向过程式编程和函数式编程 我们再来看一下面向对象式编程的优点
1减少重复代码
2增加代码可读性
再来看一下面向对象式编程的具体代码
class LoginHandler: def login(self): pass def regisgter(self): pass class Account: def func1(self): pass def func2(self): pass class ShoppingCar: def shopping(username,money): pass def check_paidgoods(username,money): pass def check_unpaidgoods(username,money): pass def save(username,money): pass 面向对象式编程
# 通过对比可以看出面向对象第一个优点:
面向对象编程:是一类相似功能函数的集合,使你的代码更清晰化,更合理化。
说第二个优点之前,先看看什么是面向对象。
面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来。
那什么是类?什么是对象?
类:就是具有相同属性和功能的一类事物。
对象:就是类的具体表现。
具体一些:先解释解释什么是⻋? 有轱辘, 有⽅向盘, 有发动机, 会跑的是⻋. 好. 在解释⼀个. 什么是⼈. 有名字, 年龄, 爱好, 会唱歌跳舞思考的是⼈.那么广义上 车,人就是类:但是具体的我的车,你这个人这是一个对象。
猫,是一类,你们家养的 大橘。
狗,是一类,隔壁家养的那只二哈就是对象。
⾯向对象思维, 要⾃⼰建立对象. ⾃⼰建立场景. 你是就是⾯向对象世界中的上帝. 你想让⻋⼲嘛就⼲嘛. 你想让⼈⼲嘛⼈就能⼲嘛。
再说第二个优点:面向对象,要拥有上帝的视角看问题,类其实就是一个公共模板(厂房),对象就从具体的模板实例化出来(慢慢体会)。
1.3类的结构
class Human: """ 此类主要是构建人类 """ mind = '有思想' # 第一部分:静态属性 属性 静态变量 静态字段 dic = {} l1 = [] def work(self): # 第二部分:方法 函数 动态属性 print('人类会工作') class 是关键字与def用法相同,定义一个类。 Human是此类的类名,类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头。 类的结构从大方向来说就分为两部分: 静态变量。 动态方法。