python笔记(八)单元测试 网络编程

单元测试

用对于函数和类或一个模块的的时候校验正确性
[注]:做单元测试的时候 不要写大量的而测试代码
如果测试代码都很复杂 则可能测试本身就有bug

引入待校验模块
import unittest

class Test(unittest.TestCase):
    #测试函数
    def test_mysum(self):
        self.assertEqual(函数调用,正确结果,错误信息)

    #测试类
    def test_init(self):
        p = Person(name,age)
        self.assertEqual(p.name,正确结果,错误信息)

Excel读写操作

读取

import csv
def csvRead(path):
    dataList = []
    #with..as..执行结束后会自动关闭文件
    with open(path,'r') as file:
        data = csv.reader(file)
        for row in data:
            dataList.append(row)
    return dataList
#读取出csv文件的数据
data = csvRead(文件名)

写入

import csv 
def writeCsv(path,data):
    with open(path,'w',newline='') as file:
        writer = csv.writer(file)
        for rowdata in data:
            #按行写入
            writer.writerow(rowdata)
data = [
    ["1","2","3","4"],
    ["5","6","7","8"]
]
writeCsv(r'000002.csv',data)

网络编程

1.什么是网络编程
网络:将好多电脑连到一起 进行通信
网络编程:两台计算机进程间的相互通信
涉及到网络编程就涉及到了 客户端client 服务端server
2.网络通信的要素
协议+ip+端口
1. ip
    根据ip地质找到计算机 根据端口号找到进程
    根据协议进行输出
    IP地址:
        现在又两大类 ipv4 ipv6
    ipv4 是一个32位的二进制数存储的 分割成4个8位二进制数
    ipv6 实际存储的是128位的整数  实际我们正常看是字符串
    查看本机ip:
        windows:ipconfig
    每一台计算机都有个127.0.0.1(本机回环地址)
2. 端口
    每一个系统都会为每一个进程分配一个端口号
    取值范围:0-65535
    系统默认占用的0-1024
    1024-65535 自己的程序使用
    ftp:21 ssh:22 smtp:25
3. 传输协议 TCP/IP协议:代表的协议簇
    UDP TCP
    TCP:传输控制协议
    特点:
        面向连接:连接数据传输时候就要先建立连接
        可以传输大量数据
        通过'三次握手'才能完成连接  安全可靠
        缺点是效率低 速度慢些
        除了传输数据 ip地址 端口号...header头
    UDP:数据报协议:
        特点:面向无连接 不需要建立连接
        不可靠协议 (发出去的数据不一定接到)
        传输速度快 效率高
    三次握手:
        syn:建立联机
        seq:顺序号码
        ack:确认号码
        ACK:确认
        第一次客户端发送syn 和seq 等待
        第二次 服务端返回一个syn seq+1 主机是等待状态
        第三次 接到ack 对不对 如果正确返回ack = 1 验证之后都进入连接状态
    四次挥手:
        FIN 报文
        第一次 客户端请求数据服务端 客户端主动关闭
        第二次 服务端单向传输数据
        第三次 传输结束 服务端请求关闭
        第四次 关闭连接
    ---------------------
    OSI模型7层
        应用层  终端应用 FTP WEB qq等
        表示层  对接收的数据进行加密解密 压缩解压
        会话层  通过传输层 建立数据传输的通路
        传输层  定义了传输数据的协议和端口号
        网络层  主要讲从下层接收到的数据进行IP地质的封装与解封
        数据层  将从物理层接收的数据进行MAC地质的封装与解封
        物理层  邓毅物理设备标准 入网线的接口类型 光纤的接口类型 传输介质的传输速率等
   ---------------------
    socket:套接字 通信句柄
        服务器:监听
        客户端:请求
        一旦通过协议创建好连接之后  处于监听状态

    CDN 内容分发网络 
        目的是网站加速 
        原理是反向代理,在现有internet中增加一层新的网络架构 将网站内容发布到最接近用户的cache服务器内 通过dns负载均衡判断用户来源就近访问cache服务器取得所需内容
        特点:本地cache加速提高访问速度 稳定性 颈项服务实现了跨运营商的网络加速 远程加速 带宽优化 集群抗攻击
    DNS 域名系统

猜你喜欢

转载自blog.csdn.net/weixin_42042680/article/details/80070625