摘要:一、ORM简介 ORM英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使
阅读全文
摘要:一、Rabbit MQ 1、工作队列 工作队列就是多个work共同按顺序接收同一个queue里面的任务,还可以设置basic_qos来确保当前的任务执行完毕后才继续接收任务。 2、交换机 producer先将消息发送到交换机exchange,然后exchange再将消息发送给所有帮绑定的queue,
阅读全文
摘要:一、协程 1、协程 阻塞:代码执行到会产生阻塞操作的地方(如IO,socket.recv()等)会等待操作完成才继续往下执行。 非阻塞:即执行到阻塞操作时不会等待,而是将IO类操作交给其他程序或系统内核进程,然后会继续往下执行,等待系统返回完成信号,直接处理结果。 协程是阻塞模式 协程可以在单线程下
阅读全文
摘要:一、进程与线程 1、进程 进程是系统资源加上一个或多个线程的集合 进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程就无能为力了。 进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工作不依赖于输入的数据,也将无法执行。 2、线程 线程是操作系统能够进行运算调度的最
阅读全文
摘要:一、Socket Socket Families(地址簇) socket.AF_UNIX unix本机进程间通信 socket.AF_INET IPV4 socket.AF_INET6 IPV6 Socket Types socket.SOCK_STREAM #for tcp socket.SOCK
阅读全文
摘要:一、面向对象高级语法部分 1、静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变
阅读全文
摘要:一面向对象 面向对象编程 OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率 ,另外,基于面向对象的程序可以使它人更加容易理解你的代码逻辑,从而使团队开发变得更从容。 面向对象的几个
阅读全文
摘要:常用模块学习 一、time & datetime 二、random 模块 三、os 模块 四、sys 模块 五、shutil 模块 六、json & pickle 模块 七、shelve 模块 八、xml 模块 九、configparser 模块 十、hashlib 模块 十一、subprocess
阅读全文
摘要:一、函数即变量 1、赋值效果图 a = 1 b = a def func(): print('hello') func 是函数名,相当于变量名,print('hello')是函数体,相当于变量的值,func()这个表示函数的调用 2、python垃圾回收机制 比如1,由于有a,b两个变量指向它,因此
阅读全文
摘要:一、函数 函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有fu
阅读全文
摘要:一、列表、元祖 1、list为是有序的,因此又下标,可以多多层嵌套 tuple和list差不多,但是tuple一旦创建第一级就不能修改,比如其中一个元素为list,则改list可以被修改 2、list、tuple方法 二、字符串 三、字典 四、练习 五、练习 购物车程序 1、用户入口:商品信息存在文
阅读全文
摘要:一、python简介 1、动态类型语言 python的变量可以在运行中复制,不需要提前定义类型,比如name = ’zhangxiaodong',变量name就是字符串类型 2、强类型定义语言 python的变量类型一旦确定后,如果不通过强制转换那么它就永远是这个类型了 例子:a=‘5’ 此时a是字
阅读全文