面向过程式编程vs函数式编程
面向过程式编程:
s1 = "yulin"
count = 0
for i in s1:
count += 1
print(count)
l1 = [i for i in range(10)]
count = 0
for i in l1:
count += 1
print(count)
面向函数编程:减少了重复代码,增强了可读性
l1 = [i for i in range(10)]
def my_len(argv):
count = 0
for i in argv:
count += 1
print(count)
my_len(l1)
函数式编程vs面向对象编程
函数式编程:
def login():
pass
def register():
pass
def change_pwd():
pass
def shopping_car():
pass
def check_paid_goods():
pass
def check_unpaid_goods():
pass
面向对象编程:
- 对相似功能的函数或者是同一个业务的函数进行归类,分类
- 要站在上帝的角度构建代码,类就是一个公共的模板,对象就是从模板实例化出来的,得到对象就得到了一切
class Auth:
def login(self):
pass
def register(self):
pass
def change_pwd(self):
pass
class Shopping:
def shopping_car(self):
pass
def check_paid_goods(self):
pass
def check_unpaid_goods(self):
pass
学习面向对象必须站在一个上帝的角度去分析考虑问题
区分两个概念:
- 类:具有相同属性和功能的一类事物
- 对象:某个类的具体体现
例子:
- 汽车:汽车类; 楼下停着一个奥迪车牌号为XXXXXX:对象
- 猫科类:类;Ylinn家养的布偶猫:对象
- 鸡类:类;山里的某只鸡:对象
- 女神:类;我喜欢的jk女神妹妹:对象