面向对象【林老师版】:面向过程vs面向对象(一)
一、面向过程
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)
作者:罗阿红
出处:http://www.cnblogs.com/luoahong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

浙公网安备 33010602011771号