zoukankan      html  css  js  c++  java
  • python-面向对象编程设计与开发

    编程范式

    1、对不同类型的任务,所采取不同的解决问题的思路。

    2、编程范式有两种

      1、面向过程编程

      2、面向对象编程

    面向过程编程

    什么是面向过程编程?

    过程——解决问题的步骤

    要解决一个大的问题

    1、先把大问题拆分成若干小问题或子过程。

    2、然后子过程再拆分成小问题或子过程

    3、直到小问题可以在一个小步骤的范围内可以解决。

    有什么优点和缺点?

    优点:把复杂的问题流程化,编程难度低。

    缺点:可扩展性差

    写代码:

    写一个简单的用户注册程序

    # 1 写一个用户注册程序
    # 面向过程编程方法:
    # 1、用户输入账号密码
    # 2、用户输入合法性检测
    # 3、写入输入库
    # 注意:
    # 进阶:当需要增加邮箱注册功能要怎样改?
    import json
    
    
    def interactive():  # step 1
        user = input('>>').strip()
        psw = input('>>').strip()
        return {
            'name': user,
            'pwd': psw
        }
    
    
    def check(user_info):  # step 2
        is_value = True
        if len(user_info['name']) == 0:
            print('用户名不能为空')
            is_value = False
        if len(user_info['pwd']) < 6:
            print('密码不能小于6位')
            is_value = False
        return {
            'is_value': is_value,
            'user_info': user_info
        }
    
    
    def register(check_info):  # step 3
        if check_info['is_value']:
            with open('json.db', 'w', encoding='utf-8')as f:
                json.dump(check_info['user_info'], f)
    
    
    def main():
        user_info = interactive()  # step 1
        check_info = check(user_info)  # step 2
        register(check_info)  # step 3
    
    
    if __name__ == '__main__':
        main()
    View Code

    增加输入邮箱注册

    # 1 写一个用户注册程序
    # 面向过程编程方法:
    # 1、用户输入账号密码
    # 2、用户输入合法性检测
    # 3、写入输入库
    # 注意:
    # 进阶:当需要增加邮箱注册功能要怎样改?
    import json,re
    
    
    def interactive():  # step 1
        user = input('>>').strip()
        psw = input('>>').strip()
        email=input('>>').strip()
        return {
            'name': user,
            'pwd': psw,
            'email':email
        }
    
    
    def check(user_info):  # step 2
        is_value = True
        if len(user_info['name']) == 0:
            print('用户名不能为空')
            is_value = False
        if len(user_info['pwd']) < 6:
            print('密码不能小于6位')
            is_value = False
        if not re.search(r'@.*?.com$',user_info['email']):
            print('邮箱格式错误')
            is_value=False
        return {
            'is_value': is_value,
            'user_info': user_info
        }
    
    
    def register(check_info):  # step 3
        if check_info['is_value']:
            with open('json.db', 'w', encoding='utf-8')as f:
                json.dump(check_info['user_info'], f)
    
    
    def main():
        user_info = interactive()  # step 1
        check_info = check(user_info)  # step 2
        register(check_info)  # step 3
    
    
    if __name__ == '__main__':
        main()
    View Code

    应用场景?

    功能一旦实现,改动很少的场景。自动部署脚本等场景。

    面向对象编程

    什么是面向对象编程?

    有什么优点和缺点?

    应用场景?

  • 相关阅读:
    My Eclipse
    那一夜,我被梦中笑醒的事之(数据库)
    KTV项目总结
    欢迎来到,数据库联盟!
    学习手工创建表,表关系以及用exists 来查询
    sql 将Null 值转化成空字符串
    jquery toggle
    推荐一个不错的配色网站
    css之zindex
    关于前后端分离与不分离
  • 原文地址:https://www.cnblogs.com/AYxing/p/8978012.html
Copyright © 2011-2022 走看看