面向过程的概念
面向过程核心是过程二字, 即先干什么, 在干什么, 最后干什么
#举例
1.洗衣服
2.把大象放在冰箱里面
'''
1.打开冰箱门
2.把大象放进去
3.关上冰箱门
'''
3. 流水线生产饮料
优点:复杂的问题流程化,进而简单化
缺点:牵一发而动全身,扩展性差,可维护性差
应用场景:对扩展型不高的的地方, eg:安装包的使用
#注册功能
#用户输入用户名和密码(函数写代码)
def interactive():
username = inupt('请输入用户名').strip()
password = input('请输入密码').strip()
return{
'username':username
'password':password
}
#验证参数
def check_info(userinfo):
is_valid = Flase
if len(userinfo['username']) == 0:
print('用户名不能为空')
is_valid = True
if len(userinfo['password']) == 0:
print('密码不能为空')
is_valid = True
return{
'is_valid':is_valid
'userinfo':userinfo
}
#写入文件注册成功
def register(param):
if not param[is_valid]:
with open('usrinfo.txt','w', enconding = 'utf8')as f:
import json
json_dump(param['userinfo'], f)
#调用函数
def main()
userinfo = interactive()
检验参数
check_info = check_info(userinfo)
#注册调用
register(check_param)
if__name__ == ('__main__'):
main()
扩展性差指的是加入一个功能后 全改变局都要改变去应变这个
面向对象
面向对象的核心是对象二字
什么是对象?
1.陈序中:
函数:盛放数据的容器
2 对象:盛放数据和函数的容器
2.现实生活中
一切皆对象
对象:特征与技能的结合体
优点:扩展性强,可维护性强
缺点:编程复杂度高
应用场景:对扩展性要求较高的地方.
#举例
以学生选课系统为例
版本三
def choose_course(stu_dict,course):
stu_dict['course'].append(course)
print('%S选课成功 %' % (stu_dict['name'],stu_dict['course']))
stu1{
'name':'jason',
'age':18,
'gender':'male',
'choose_course':'choose_corse'
}
stu2{
'name':'jason',
'age':18,
'gender':'male',
'choose_course':'choose_corse'
}
stu1['choose_course'](stu1,'python')
stu2['choose_course'](stu2,'python')