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

    应用场景?

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

    面向对象编程

    什么是面向对象编程?

    有什么优点和缺点?

    应用场景?

  • 相关阅读:
    读《持续交付2.0》
    “兼职”运维的常用命令
    技术管理者怎样跳出“泥潭”
    使用RabbitMQ实现接口补偿
    dotNET Core 中怎样操作 AD?
    dotNET Core实现分布式环境下的流水号唯一
    Git 远程仓库
    分之管理
    git 基本操作----git diff
    git 基本操作----git reset、log
  • 原文地址:https://www.cnblogs.com/AYxing/p/8978012.html
Copyright © 2011-2022 走看看