面向过程

复杂的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单)

面向过程:核心是过程二字,过程指的是解决问题的步骤,设计一条流水线,机械式的思维方式

优点:复杂的问题流程化,进而简单化

缺点:可扩展性差

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): #检测 user_info 接收上一步返回的结果
    is_valid=True  #默认是有效 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()

如果你只是写一些简单的脚本,去做一些一次性任务,用面向过程的方式是极好的,但如果你要处理的任务是复杂的,且需要不断迭代和维护 的, 那还是用面向对象最方便了。

面向对象

面向对象:核心就是对象二字,对象就是特征与技能的结合体

优点:可扩展性强

缺点:编程复杂度高

应用场景:用户需求经常变化,互联网应用,游戏,企业内部应用

就是一系列对象相似的特征与技能的结合体

强调:站在不同的角度,得到的分类是不一样的

在现实世界中:一定先有对象,后有类

在程序中:一定得先定义类,后调用类来产生对象

站在路飞学院的角度,大家都是学生

第五章| 5.1面向对象-继承 |封装 |多态
在现实世界中:
    对象1:王二丫
        特征:
            学校='luffycity'
            名字='王二丫'
            性别=''
            年龄=18
        技能:
            学习
            吃饭
            睡觉

    对象2:李三炮
        特征:
            学校='luffycity'
            名字='李三炮'
            性别=''
            年龄=38
        技能:
            学习
            吃饭
            睡觉

    对象3:张铁蛋
        特征:
            学校='luffycity'
            名字='张铁蛋'
            性别=''
            年龄=48
        技能:
            学习
            吃饭
            睡觉

    总结现实中路飞学院的学生类:
        相似的特征
            学校='luffycity'

        相似的技能
            学习
            吃饭
            睡觉
View Code

相关文章:

  • 2022-12-23
  • 2021-12-29
  • 2021-06-26
  • 2021-06-29
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-12
  • 2021-08-15
  • 2022-12-23
  • 2022-01-05
  • 2021-05-11
  • 2021-08-18
相关资源
相似解决方案