Table of Contents
签到时间 8:20
复习了快速排序算法
代办
每天早上起来写一遍排序(连续三天) 选择,冒泡,插入,快速二叉树的遍历将图书笔记都找出来整理电子笔记每天要两个小时的代码时间,合理安排
File
read() 参数是读取字节数
当文件过大时,不要直接读到末尾,时间慢,消耗内存大read可以,加上参数,用while来循环读取,read(1024)返回为空字符串则退出循环for 循环读取,read返回的是一个可迭代的对象readline()和readlines() # 用的不多,返回是一个列表,带\n
write() 写文件
有两种方法,write和writelines() # 里面是一个列表,换行需要带\nflush,立即刷新缓冲区
flush是刷新缓冲区换行符也算一个字节buffering缓冲
python中默认都不填写缓冲参数0是无缓冲,1是行缓冲,大于1是指定缓冲大小,负数是默认缓冲,close之后会自动将缓冲区内容刷新到磁盘文件偏移量
查看当前偏移量:查看用f.tell()来查看当前偏移量更改偏移量 :seek(offset[,whence]) 第一个参数是正负偏移量,1就是第二个字节,第二个参数是相对位置,0是开头,1是当前位置,2是末尾注:当前位置只能二进制模式使用
文件描述符
定义:每一个IO都会有一个整数作为编号,这个编号就叫做文件描述符查看:查看文件描述符用f.fileno()
扩展延伸:文件流
流:I/O操作就是简单的移动复制,这种就是字节流,sys中默认有三种流,标准输入:sys.stdin 标准输出:sys.stdout 标准错误:sys.stderr
with语句
文件对象,锁对象常用操作语法:with open("tst") as f: #这样自动退出文件流
目录操作
os和os.path模块获取文件大小os.path.getsize(file),查看文件列表os.listdir(dir),查看文件是否存在os.path.exists(),判断文件类型os.path.isfile(file),删除文件os.remove(file)
网络基础
应用层 : 提供用户服务,具体功能有应用程序实现
表示层 : 数据的压缩优化加密会话层 : 建立用户级的连接,选择适当的传输服务传输层 : 提供传输服务网络层 : 路由选择,网络互联链路层 : 进行数据交换,控制具体数据的发送物理层 : 提供数据传输的硬件保证,网卡接口,传输介质优点
- 建立了统一的工作流程
- 分部清晰,各司其职,每个步骤分工明确
- 降低了各个模块之间的耦合度,便于开发
TCP/IP模型
应用层,传输层,网络层,网络接口
特殊IP
192.168.1.0:0表示一个网段--> 局域网
192.168.1.1:同一个网关 -->
192.168.1.255:用作广播
端口号
是网络地址的一部分,来区分主机上不同应用的网络程序
取值范围:1-65535
1-1023系统应用或者大众程序监听端口
1024-65535 自用端口,一般都使用这些端口,最好用一万以上
常用二进制和十进制
高内聚,低耦合
『函数』
高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合)
低耦合:减少类内部,一个成员方法调用另一个成员方法
『类』
高内聚低耦合:减少类内部,对其他类的调用
『功能块』
高内聚低耦合:减少模块之间的交互复杂度(接口数量,参数数据)
横向:类与类之间、模块与模块之间
纵向:层次之间
尽可能,内容内聚,数据耦合