一、面向过程
1、引子
面向过程:核心是过程二字,过程指的是解决问题的步骤,设计一条流水线,机械式的思维方式
优点:复杂的问题流程化,进而简单化
缺点:可扩展性差
2、验证代码
import json import re def interactive(): name=input('>>: ').strip() pwd=input('>>: ').strip() email=input('>> ').strip() return { 'name':name, 'pwd':pwd, 'email':email } def check(user_info): is_valid=True if len(user_info['name']) == 0: print('用户名不能为空') is_valid=False if len(user_info['pwd']) < 6: print('密码不能少于6位') is_valid=False if not re.search(r'@.*?.com$',user_info['email']): print('邮箱格式不合法') is_valid=False return { 'is_valid':is_valid, 'user_info':user_info } def register(check_info): if check_info['is_valid']: with open('db.json','w',encoding='utf-8') as f: json.dump(check_info['user_info'],f) def main(): user_info=interactive() check_info=check(user_info) register(check_info) if __name__ == '__main__': main()
二、面向过程编程
1、什么是面向对象?
面向对象:核心就是对象二字,对象就是特征与技能的结合体
优点:可扩展性强
缺点:编程复杂度高
应用场景:用户需求经常变化,互联网应用,游戏,企业内部应用
2、什么是类?
类就是一系列对象相似的特征与技能的结合体
强调:站在不同的角度,得到的分类是不一样的
1、在现实世界中:
一定先有对象,后有类
2、在程序中:
一定得先定义类,后调用类来产生对象,站在路飞学院的角度,大家都是学生
3、现实中的对象
对象1:王二丫 特征: 学校='luffycity' 名字='王二丫' 性别='女' 年龄=18 技能: 学习 吃饭 睡觉 对象2:李三炮 特征: 学校='luffycity' 名字='李三炮' 性别='男' 年龄=38 技能: 学习 吃饭 睡觉 对象3:张铁蛋 特征: 学校='luffycity' 名字='张铁蛋' 性别='男' 年龄=48 技能: 学习 吃饭 睡觉
4、现实中路飞学院的学生类
相似的特征 学校='luffycity' 相似的技能 学习 吃饭 睡觉
三、面向对象代码实现
#先定义类 class LuffyStudent: school='luffycity' def learn(self): print('is learning') def eat(self): print('is sleeping') #后产生对象 stu1=LuffyStudent() stu2=LuffyStudent() stu3=LuffyStudent() print(stu1) print(stu2) print(stu3)