python小总结

Python总结

基础部分

1.条件语句的执行必须要依靠 if 执行,当条件满足时,才能执行条件体的逻辑代码;

2.在if嵌套里使用的条件是:具备因果关联特性;

3.当出现一个=时,就是变量的赋值,有两个==时,就是相等的判断;

4.代码的执行顺序是从上往下执行;

5.初始值的条件小于循环体的条件时,将会执行循环体的内部条件,循环执行;

6.break是条件满足时,结束循环体,continue当条件满足时,结束当前的条件,并跳转到下一次循环的条件判断中;只能在循环体中使用;

7.双引号和单引号都表示字符串,但是两者不能同时使用;

8.切片表示左闭右开,下标从零开始,步长表示间隔多大距离进行取值;

9.列表中的类型可以不同; 元组的属性基本和列表相同,只是元组不能修改和删除;还用小括号表示;

10.在字典中get方法取值时,当值不存在时,不会报错;字典的获取会由列表进行存储;在进行获取键值对时,由列表的进行保存键值对数据;

11.函数在定义中不会执行,在调用函数时才执行函数体,return是结束函数;

return是在函数体外使用;

12函数体中优先使用局部变量;声明变量(global)时,就把全局变量改变,但是不会影响局部变量;

13.函数之间可以进行共享数据[1.全局变量(缺点:顺序引起数据),2.函数返回值(引起性能浪费),3.函数嵌套调用()优化性能]

14.return后面默认是元组类型;

15.缺省参数一定要放在形参的后面,**kwargs放在最后;

16.字典拆包时,取出的是键;

17.引用:可变类型(列表,字典,集合),数据是跟着改变

不可变类型(数字,字符串,元组)数据不会跟着改变

18.匿名函数进行排序时,排序谁,谁就作为参数;

19.列表推导式还可以使用步长进行存储数据;

20.类创建多个对象,而对象是具体

21.面向对象三大特性:封装 继承 多态

22.单例模式保证只有一个对象


python高级部分总结

Linux 系统操作指令

  1. ls 查看当前文件夹中的内容 pwd查看当前所在文件夹 touch 创建文件
    mkdir新建文件夹 rm -r删除文件/文件夹 cd切换文件夹 cp拷贝指定文件
    mv移动指定文件 tree 以树状进行展示 clear/ctrl+l 清屏
  2. ip协议 tcp协议 http协议之间的关系: ip协议存在于网络层,是提供于ip地址的统一地址格式(网络设备进行编号); tcp 存在于传输层,提供可靠的字节流服务,将大块数据分割成报文为单位的数据进行管理; http存在于客户端的应用层,发出web页面的http请求;(dns: 提供域名与ip之间的解析服务);
  3. 端口: 操作系统分发给网络应用程序的编号(http端口是80,ssh端口是22)
  4. udp特点: 传输速度快,不需要连接,资源开销小; 缺点: 传输数据不可靠,容易丢数据包;
  5. socket:网络之间的通信采用socket进行数据传输;
  6. udp传输流程: 客户端(1.创建udp套接字2.发送数据/接收数据3.关闭套接字) 服务器端: 1. 创建udp套接字2.绑定ip 3.发送数据/接收数据 4. 关闭套接字);
  7. 数据编解码: 字节串转化为字符串 使用decode(‘utf-8’); 字符串转化为字节串 使用 encode(‘utf-8’);
  8. 在python2中字节串的类型是str ,字符串的类型是 unicode; 在python3中字节串的类型是 bytes,字符串的类型是 str
  9. unicode 与 utf-8之间的联系 unicode 是万国码 采用两个字节 ,而utf-8 是编码的规范 是对unicode 的压缩;
  10. tcp:定义 面向连接 可靠的,基于字节流 的传输层通信协议 特点: 可靠 稳定传输 适合传输大量数据 缺点: 传输速度慢 占用资源高;
  11. tcp传输数据 : 客户端(1.创建tcp套接字2. 连接ip地址 3. 发送数据/接收数据 4. 关闭套接字); 服务器端(1.创建tcp套接字 2. 绑定ip地址 3. 被动连接 4. 接收客户端的连接 5. 接收数据/发送数据 6. 关闭套接字);
  12. 并发任务数大于cpu核数,通过操作系统的任务调度算法,实现多个任务一起执行; 并行 任务数小于cpu核数 ,任务一起执行;
  13. 线程是进程的实体,是cpu调度和分配的基本单位,优点:数据共享方便;缺点:1.性能不够稳定,一个线程死了,导致进程死了,进程死了就不会资源分配导致所有线程死了;2.存在于GIL锁 执行过程中 会产生资源竞争,必须使用互斥锁,但是会造成死锁;
  14. 进程: 系统进行资源分配和调度的独立单位;缺点: 资源占用大,执行效率高,切换效率低,不共享全局变量;特点: 一个进程必须要有一个主线程,性能稳定,进程死了,不会影响其他进程; 可以独立占用一个cpu核心;
  15. 协程: 微线程 ,资源占用小 ,切换效率高; 在执行多任务时,一个任务执行过程中,会出现等待,此时通过协程执行其他任务; 特点: 协程必须依赖于一个线程,在同一时刻只能占用一个cpu核心;
  16. 迭代:能够使用for 循环进行取值的对象就是可迭代的对象(列表 元组 字典 集合 range 字符串); 自定义可迭代的对象: 在类里面定义iter方法;
  17. 迭代器在类里面能够实现iter和next方法就可以创建迭代器对象;迭代器与列表之间的区别是迭代器比列表在内存使用上大概占据了4倍左右,迭代器使用在有规律的算式上;
  18. 生成器:它是特殊的迭代器 创建生成器的方法:1. 把列表推导式的[ ] 改成( );2.在函数里面看到yield关键字就是生成器 yield 与return 之间的区别 yield 会使函数暂停取值, return 会一次性结束函数;
  19. 正则表达式;匹配的是字符串; 所有的多字符都是修饰单字符; match是从开头进行匹配; findall查找多个字符,且返回的是列表; sub进行数据替换; split根据标识符进行分割数据; search匹配字符串,但是不一定从头开始匹配;
  20. 请求报文请求行(请求方法 请求路径) 请求头(host connection) 空行 请求体(get没有请求体,post/put);
  21. 响应报文:响应行(1.http协议版本2.响应状态码3.表示响应状态) 空行 响应体
  22. 在代码的世界里,一个功能就是一个函数; 在面向对象的思想里,类是相关函数的集合或者封装;
  23. 拷贝: 引用与拷贝之间区别: 引用是引用了内存地址 而拷贝就是把数据进行复制,保证数据的独立性
  24. copy 与 deepcopy 之间的关系: copy 是拷贝最外层的地址,相当于windows下的快捷方式, 而deepcopy是拷贝全部的层级,相当于windows下的复制,保证数据的独立性
  25. 当数据为不可变类型时: 引用就是拷贝,保证数据的独立性
  26. 基本上的api都是浅拷贝(字典,列表…)
  27. 内存管理机制 : 引用计数 垃圾回收 内存池
    引用计数: 是一种高效内存管理手段 时间的方法: 当一个python对象被引用时,引用计数就会增加1,当一个变量不在被引用时,则引用计数减1,直到引用计数为0时,则对象被销毁 它是一种垃圾收集最直接的方式,当存在循环计数引用时,引用计数就不会起作用
  28. 标记清除: 当两个的引用计数都为1,且存在于循环引用中,那么他们的引用计数将被回收,他们的实际的引用计数为0;
  29. 分代回收: 从前面“标记-清除”这样的垃圾收集机制来看,这种垃圾收集机制所带来的额外操作实际上与系统
    中总的内存块的数量是相关的,当需要回收的内存块越多时,垃圾检测带来的额外操作就越多,而垃圾
    回收带来的额外操作就越少;反之,当需回收的内存块越少时,垃圾检测就将比垃圾回收带来更少的额
    外操作。
  30. 内建函数中: map() reduce()函数中 : 他们共同的传入两个参数: 第一个参数是函数,第二个参数是序列(列表或元组) ,但是map() 中的函数可以接受一个或者多个参数,作用到参数中的元素只作用一次,而 reduce() 中的函数只接收两个参数,且得到元素的会得到下一个元素进行计算(累计计算)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值