12 2018 档案
摘要:守护进程:一个进程B守护另一个进程A,当被守护的进程A结束,进程B也就结束了。(不一定同生,但会同死) 两个特点: ①守护进程会在主进程代码执行结束后就终止 ②守护进程内无法再开启子进程,否则抛出异常。 注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止 应用场景:如果主进程认为一旦自
阅读全文
摘要:并发即同时发生,并发编程指程序中的多个任务同时被处理,其基于多道技术。 并发指的是多个事件同时发生,也称为伪并行(并发事实上是交替进行,如果切换速度足够快,那么就可以让人觉得是在同时发生) 并行指的是多个事件同时进行 阻塞:程序遇到I/O操作或是sleep,导致后续代码不能被CPU执行的状态。 非阻
阅读全文
摘要:粘包指的是数据与数据之间没有明确的分界线,导致程序不能正确读取数据。 TCP或UDP协议下,程序要将收发的数据交由操作系统处理,操作系统会设立缓冲区, 用于收发各个程序的数据 UDP(用户数据报协议): 是无连接的、面向消息的,面向消息的通信是有信息保护边界的。 基于数据包收发数据,数据包之间相互独
阅读全文
摘要:服务器端代码: 用户端代码: 半连接池:此处待续 服务器端代码: 客户端代码:
阅读全文
摘要:1、异常:程序一旦出错,如果程序中还没有相应的处理机制,那么该错误就会产生一个异常抛出来,程序的运行也随之终止。异常是类的实例,实例可以被引用,并且可以进行捕捉,进而使得错误被处理。 如果没有处理异常,异常就会向上传播直到顶层。也就是说,可以在顶层处理程序中的异常。 2、一个异常分为三部分: ①
阅读全文
摘要:20181217 将数据和处理数据的代码绑定,成了一个对象。 只要获取到对象,相应的数据和方法就有了。 组合:一个对象的属性来自于另外一个类(或多个类)的对象(或多个对象),称之为组合。 组合可以使这个对象获得另外一个对象的所有属性和功能。组合是对象之间的一种关系。 优点:也可以降低代码的冗余,相比
阅读全文
摘要:派生/继承/继承结构 派生描述了子类衍生出新的特性,新类保留已存类类型中所有需要的数据和行为,但允许修改或者其它的自定义操作,都不会修改原类的定义。 继承描述了子类属性从祖先类继承这样一种方式 继承结构表示多“代”派生,可以述成一个“族谱”,连续的子类,与祖先类都有关系。 1、定义:继承是一种类与类
阅读全文
摘要:1、面向过程的编程:将复杂问题拆分成若干小问题,按照步骤流程一一解决。也可以说是将复杂问题流程化,为其制定一个固定的实现流程。 优点:复杂问题简单化 缺点:可拓展性差,维护性差。一旦某一步骤出现问题,后续步骤可能无法进行。 应用场景:对扩展性要求较低的软件,如系统内核、脚本程序。 2、面向对象的编程
阅读全文
摘要:os表示操作系统,该模块主要处理与操作系统相关的操作。最常用的是文件操作:打开,读取,删除,复制,重命名。 重点掌握增删改查的函数操作。 作为配置信息的数据,要满足两个条件: 1、数据的值是不固定的 2、可以由用户来指定 读取配置信息分为两步: 1、读取某个配置文件 2、调用get()函数 标准配置
阅读全文
摘要:logging专门用来记录日志 日志的级别分为五级,可以用数字表示,从低到高分别为: 1、debug #调试信息(用于记录程序在开发过程中的调试信息,例如不清楚这个变量的值,打印一下) 2、info #记录普通信息 3、warning #警告信息(当某些操作可能发生错误,就记录为警告信息,设计一些敏
阅读全文
摘要:1、re&正则表达式 2、hashlib 正则:正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式得到的是一个列表。 小综合应用,寻找视频链接地
阅读全文
摘要:循环导入 解决方案: 1、将导入的语句挪到后面。 2、将导入语句放入函数,函数在定义阶段不运行 定义:包就是一个含有__init__.py文件的文件夹。 导包就是导入__init__文件中的内容 绝对导入:以包的顶级文件夹目录作为查找的起始位置。 #######此处存疑######相对导入:仅限
阅读全文
摘要:# 打印九九乘法表for i in range(1,10): for j in range(1,i+1): # x=i*j # print(i,'*',j,'=',x,end=' ') print('%s*%s=%s' %(i,j,i*j),end=' ') # end=' '表示不换行,只是加个空
阅读全文
摘要:模块:模块就是一系列功能的集合体 模块分为四个通用的类别: 模块的三种来源: 为什么要用模块: 1.使用内置或者第三方的模块的好处是拿来主义,极大地提升开发效率 2.使用自定义的模块的好处是将程序各部分组件公用的功能提取取到一个模块里,其他组件通过导入的方式使用,该模块的好处是减少代码冗余 首次导入
阅读全文
摘要:什么是迭代器: 迭代取值的工具。迭代是一个重复的过程,但是每次重复都是基于上一次重复的结果而继续。 为什么要用迭代器: 迭代器的优点: 1、提供了一种不依赖索引的迭代取值方式 2、更节省内存 迭代器的缺点: 1、不如按照索引的取值方式灵活 2、取值是一次性的,只能往后去,无法预测值的个数 如何用迭代
阅读全文
摘要:先说结论: 嵌套函数(如闭包,修饰器等),需要修改全局变量时,如果全局变量是不可变类型,那么在修改全局变量时要先写‘global 变量名‘,此时才可以修改;如果全局变量是可变类型,则可以直接修改。 底层机制为:函数内修改全局变量时,不可以更改全局变量的内存地址路径。调用的话是随便的,不需要进行其他特
阅读全文

浙公网安备 33010602011771号