python 总结

网络编程

  • 四层/七层:在这里插入图片描述
  • ip-主机。端口-要运行的程序
  • udp:不用连接,速度快,但数据不保证完整
  • tcp:
    需要连接与监听,速度稍慢,数据完整
    可能发生粘包

进程和线程

  • 进程
    from multiprocessing import Process
  • 进程池
    pool = Pool(3)
    pool.apply(func)
  • 进程间通信
    通过processing-Queue、Manager-Queue、Pipes等
  • 线程
    threading
    创建(三种方式):直接调用、重写run、继承
    ThreadLocal声明全局变量,解决线程间数据混乱的问题
    Lock上锁,上锁后程序实际上是以单线程运行,效率变低
    守护线程:
    不重要的线程,t.setDaemon(True)

高级语法

生成器

generator,惰性机制,需要时才取出,占内存少

  • 创建
    1.列表生成式[]改为()
    2.定义函数,yield
  • 获取
    1.while,捕捉异常停止
    2.for循环

迭代器

iterator
iterable
可迭代对象转迭代器iterator = iter(iterable)
判断迭代isinstance(xx,iterable)

装饰器

  • 闭包
    三个条件
  • 装饰器
    拓展已有函数的功能的函数
    语法糖+闭包
    @闭包函数

深拷贝与浅拷贝

  • =
  • copy:浅拷贝,复制第一层元素,对于其子对象只拷贝其引用,不拷贝其元素
  • deepcopy:深拷贝,复制全部元素,包括其子对象中的元素。

元类

  • 动态创建类
    type("class", parent_class, {})
  • 自定义元类
    1.定义函数返回动态创建类的参数"class", parent_class, {}
    2.调用class Person(object, metaclass=re_attr)

垃圾回收

语法错误和运行异常

面向对象

  • 封装、继承、多态
  • 类属性类方法、实例属性实例方法(self)
  • 访问级别
  • 封装:props
  • 继承,多继承
  • 多态:python多态、类中方法多态(重写)
  • __eq__:用==时比较魔法方法的返回值
  • 单例模式:类仅能创建唯一的实例对象id
  • 工厂模式:

文件io

  • json:明文存储
  • pickle、marshal:二进制
    用for循环写入
    读取时要先知道存储的数量

函数高级

  • 匿名函数
    lambda 参数: 方法
  • map()
# map(函数,x,y)-->映射关系的结果序列

list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
print(list(map((lambda x, y: (x, y)), list1, list2)))
# [(1, '一'), (2, '二'), (3, '三'), (4, '四'), (5, '五'), (6, '六'), (7, '七')]
  • reduce()
# 累加,返回值为累加结果

from _functools import reduce

list1 = [1, 2, 3, 4, 5, 6]
print(reduce(lambda x, y: x + y, list1))
  • 偏函数partial
    f = functools.partial(func, 参数)
  • 递归
    自己调用自己
    必须有明确的出口

模块

  • 模块的调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值