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

    应用场景?

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

    面向对象编程

    什么是面向对象编程?

    有什么优点和缺点?

    应用场景?

  • 相关阅读:
    BZOJ 2034 【2009国家集训队】 最大收益
    vijos P1780 【NOIP2012】 开车旅行
    BZOJ 2115 【WC2011】 Xor
    BZOJ 3631 【JLOI2014】 松鼠的新家
    BZOJ 4717 改装
    BZOJ 2957 楼房重建
    BZOJ 4034 【HAOI2015】 T2
    BZOJ 1834 【ZJOI2010】 network 网络扩容
    BZOJ 2440 【中山市选2011】 完全平方数
    BZOJ 2733 【HNOI2012】 永无乡
  • 原文地址:https://www.cnblogs.com/AYxing/p/8978012.html
Copyright © 2011-2022 走看看