随笔分类 - python
摘要:1.python中函数的工作原理 python的解释器,也就是python.exe(c编写)会用PyEval_EvalFramEx(c函数)运行foo()函数首先会创建一个栈帧(stack Frame),在栈帧对象的上下文里面去运行这个字节码。 可以尝试着去打印foo的字节码: 关于字节码的解释:
阅读全文
摘要:pycharm常用快捷键 1、编辑(Editing) Ctrl + Space 基本的代码完成(类、方法、属性)Ctrl + Alt + Space 快速导入任意类 Ctrl + Shift + Enter 语句完成 Ctrl + P 参数信息(在方法中调用参数) Ctrl + Q 快速查看文档 F
阅读全文
摘要:在python中操作execl进行数据读写的时候,可以使用xlrd进行文件的读取,使用xlwt将数据写入execl中。 1.xlrd xlwt用来读取execl中的数据,常见的用法如下。 (1)打开execl文件并获取所有的sheet (2)根据下标获取sheet名称 (3)根据sheet索引或者名
阅读全文
摘要:RabbitMQ是一个在AMQP基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License开源协议。 MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。 应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链
阅读全文
摘要:redis是一个key-value存储系统。 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序集合)。 这些数据类型都支持push/pop、add/remove及取交集并集和差集集更丰富的操作
阅读全文
摘要:Memcached是一个高性能的分布式内存对象缓存系统,用于Web应用以减轻数据库的负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 Memcached基于一个存储键/值对的hashmap。 其守护进程(daemon)是用C写的,但是客户端可以用任何语
阅读全文
摘要:单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。 当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信
阅读全文
摘要:一对多;一对一 多表查询 多对多关系 第一种 第二种多对多
阅读全文
摘要:以下所有代码片段都使用了统一的引用,该引用如下: 一、表结构设计 sqlslchemy在数据库中创建表之前,会先检查该表是否存在,如果不存在,才会去创建新表。 虽然新加了一个math 变量(字段),但是由于数据库中已有students表,所以不会去创建新表,match字段也就不存在。 二、基本增删改
阅读全文
摘要:PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中则使用MySQLDB。 1.基本语法 2.增 获取插入数据的ID(关联操作时会用到) 批量执行 3.删 4.改 5.查 6.其它
阅读全文
摘要:在python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别,同时表示名字有特殊含义,所以绝不要在自己的程序中使用这种名字。 在python中,这种名字组成的集合所包含的方法称为魔法(或特殊)方法。 如果对象实现了这些方法中的某一个,那么这个方法会在特殊的情况下(确切的说是根据名字)被p
阅读全文
摘要:本章核心笔记:命名类、属性和方法的标准 类名通常是由大写字母开头,这是标准惯例。 数据的属性听起来应当是数据值的名字。 方法应当是对象或者值的行为。 另外一种是:数据值是名词作为名字,方法是动词加对象。 本章主要知识点: 类和实例 方法 创建类 创建实例 访问实例属性 方法调用 创建子类 使用子类
阅读全文
摘要:python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU资源,在python中大部分情况需要使用多进程。python提供了非常好用的多进程包Multiprocessing,只需要定义一个函数,python会完成其它所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。mult
阅读全文
摘要:一、概念 1.什么是进程 计算机程序只不过是磁盘中可执行的二进制(或其他类型)的数据。它们只有在被读取到内存中,被操作系统调用的时候才开始它们的生命期。 进程(有时被称为重量级进程)是程序的一次执行。每个进程都有自己的地址空间、内存、数据栈及其它记录其运行轨迹的辅助数据。 操作系统管理在其上运行的所
阅读全文
摘要:什么是黏包?什么情况下会出现黏包的情况?该如何避免黏包的情况? 首先来看一个例子 结果: 这种简单的情况其实也好解决: 执行结果: 还可以这样: 我们可以猜测的:当包的大小有限,同时连续发送的时候就可能出现黏包的情况。 什么是黏包? 只有TCP有黏包现象,UDP永远不会黏包。 之前提到过,TCP是面
阅读全文
摘要:一、Usenet与新闻组 Usenet新闻系统是一个全球存档的“电子公告板”,各种主题的新闻组一应俱全。新闻组可以是面向全球泛泛而谈,也可以是只面向某一个地区区域。 整个系统是由一个大量计算机组成的一个庞大的全球网络,计算机之间共享Usenet上的帖子。 如果某一个用户发了一个帖子到本地的Usene
阅读全文
摘要:如果说类是一种数据结构的定义,那么实例则是声明了这种类型的变量,换句话说,实例是有生命的类。 有一点可以说明一下,在python2.2版本之前,当你定义一个类的时候,你并没有创建一个新的类,而仅仅是创建了一个类对象。 在2.2版本之后,当你定义了一个新式类之后,你就已经创建了一个新的类型。 1.__
阅读全文
摘要:python3有两种表示字符序列的类型:bytes和str。前者的实例包含原始的8位值;后者的实例包含Unicode字符。 python2中也有两种表示字符序列的类型,分别叫做str和unicode。与python3不同的是,str的实例包含原始的8位值,而unicode的实例,则包含Unicode
阅读全文
摘要:一、socket()模块函数 要使用socket.socket()函数来创建套接字,其语法如下: 如上所述,scoket_family不是AF_UNIX就是AF_INET,scoket_type可以是SOCK_STREAM或SOCK_DGRAM,protocol一般不填,默认值为0. 创建一个TCP
阅读全文
摘要:一、什么是套接字 套接字是一种具有之前所说的“通信端点”概念的计算机网络数据结构。 网络化的应用程序在开始任何通讯之前都必须要创建套接字。就像电话的插口一样,没有它就完全没有办法通信。 套接字起源于20世纪70年代加州大学伯克利分校版本的Unix,即人们所说的BSD Unix。因此有时人们也把套接字
阅读全文