网络编程(day1)

上节课复习
    一:异常处理
        分成两种:一种是由语法上的错误引发的异常
                  另外一种是逻辑上的错误引发的异常
        对于语法上的异常,应该是在程序执行前就改正
        对于逻辑上的错误,尽量使用if来预防异常
        对于逻辑上无法预知的错误,应该用try...except...去处理
        
    语法:
    
        try:
            被监测的代码块
        except 异常类型 as e:
            print(e)
        except 异常类型 as e:
            print(e)
        except 异常类型 as e:
            print(e)
        except Exception as e:
            pass
        else:
            没有异常时触发
        finally:
            有没有异常都触发
        
        class MyException(BaseException):
            pass
            
        raise Type('异常值')      主动抛出异常
        assert 1 == 2            断言
        

    二:模块与包
        模块分三类:内置模块,第三方模块,自定义模块
        包是从文件夹级别组织模块
        
        import 
        from ... import 
        
        只要是导入都会干三件事情:
            1.执行文件
            2.创建名称空间
            3.创建模块名指向该文件创建的名称空间
                模块名.名字
                
        导入模块:
        import spam
        spam.name
        
        from spam import name
        name
        
        导入包:
        import glance.api.policy
        glance.api.policy.name
        
        from glance.api.policy import name    在__init__中用相对路径,只能用from,注意import后面必须是具体名字
        name
        
        import glance #__init__.py
        glance.  #__init__.
        
            
        import glance.api
        import glance.cmd
        import glance.db
    
        对于包来说应该遵循以下原则
        特别需要注意的是:
        可以用import导入内置或者第三方模块,因为你下载了就会放到默认的sys路径,会先从内存找,再从内置,再从sys path
        但是要绝对避免使用import来导入自定义包的子模块,
        应该使用from... import ...的绝对或者相对导入,
        且包的相对导入只能用from的形式。
        
    
1 画流程图
2 写README
3 严格安装软件开发规范去开发程序
        
        

软件开发规范

参考:http://www.cnblogs.com/alex3714/articles/5765046.html

套接字

http://www.cnblogs.com/linhaifeng/articles/6129246.html

原文地址:https://www.cnblogs.com/wanchenxi/p/7704715.html