随笔分类 - Python学习之路
摘要:写在前面: 本文章的主要目的在于: 介绍了python常用的Excel处理模块:xlwt,xlrd,xllutils,openpyxl,pywin32的使用和应用场景。 本文只针对于Excel表中常用的表格数据的处理,其他复杂操作如公式,柱状图等其他数据没有涉及。 大佬的肩膀:http://www.
阅读全文
摘要:如何自定义django 中的authentication? 描述:自己的UserProfile表往往要自己写验证函数等,如何利用上django自带的authenation? 官方解决方法:https://docs.djangoproject.com/en/1.11/topics/auth/custo
阅读全文
摘要:uWSGI介绍 uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。 uWSGI的速度非常快,普通的电脑都能承受每秒两千多次
阅读全文
摘要:什么是nosql? nosql是非关系型数据库。之所以有这种数据库的产生就是在弥补mysql的缺点:关系固定,不容修改结构,查询速度缓慢等。 分类:键值存储数据库,列存储数据库,文档型数据库,图形数据库。 redis 属于键值数据库,和Memcached类似,它支持存储的value类型相对更多,包括
阅读全文
摘要:进程:process 是计算机进行资源分配的和调度的基本单位,进程是程序的一次执行活动。允许多个程序加载到内存中实现并发。进程就是为了实现CPU上执行多道程序提出的。 线程:thread 是计算机能够进行运行调度的最小单位。是进程中的实际运行单位,进程中的每一个线程可并行的执行不同的任务。一个进程包
阅读全文
摘要:1.一些错误情况 数据库表中添加索引后确实会让查询速度起飞,但前提必须是正确的使用索引来查询,如果以错误的方式使用,则即使建立索引也会不奏效。即使建立索引,索引也不会生效: 2.其他注意事项 - 避免使用select * - count(1)或count(列) 代替 count(*) - 创建表时尽
阅读全文
摘要:explain SQL; 在sql语句前面加explain实现“执行计划”的功能。功能是比较准确的显示将要执行这条sql语句的运行状况。 select_simple 是查询类型;table 表名字 possible_keys,key 有可能,真实走的那一列索引 rows 涉及多少条数据 在上述的图片
阅读全文
摘要:1.关于索引 # 什么是索引 索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。 #索引的作用 加速查询和约束。 # 为什么索引查询会变快 没创建一个索引会相应的创建一个索引表。索引表是由相应的数据和B-tree数字组成: 30 10 40 5 15 35 66 1 6
阅读全文
摘要:1.操作mysql的标准流程 上述代码实现了在pycharm下操作mysql的一个标准流程。其中的重点是: #.创建连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1') #
阅读全文
摘要:1.协程 1 import gevent 2 3 4 def foo(): 5 print('Running in foo') 6 gevent.sleep(0) 7 print('Explicit context switch to foo again') 8 9 10 def bar(): 11
阅读全文
摘要:1.在多线程和多进程中都有queue。调用方式不同,使用方式一致: 线程中: 进程中: import queueq = queue.Queue(maxsize = 2)q.put(2)q.put(4)q.put(8,block=0) # 默认block为1 即满了就阻塞等待空位,改为0 会full报
阅读全文
摘要:1.多进程的调用 1.1 multiprocessing调用 运用for循环开启了3个子进程,全都join在主进程中。运行结果: 结果显示:三个字符串同时打印出来。达到了多进程的目的。 1.2类来调用 同时开启了4个进程,但是并没有直接p.run()指令,但是结果显示: 可以看出:run函数是被自动
阅读全文
摘要:Python3中有两种格式: str:str>>bytes 称为编码(encode)方法有1.re=bytes(“ccc”,“utf8”)2.re=“ccc”.encode(“utf8”)py3中str都是Unicode编码。兼容utf8,三字节表示中文。 bytes:bytes>>str称为解码(
阅读全文
摘要:什么是线程? 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个进程中可以包含多个线程。 用过上述的代码实现了三条(加上主线程)线程的“并行”。 线程的创建 t1
阅读全文
摘要:1.cmd命令 利用socket socket服务端 client客户端 上述的代码实现了client端发送cmd指令到serve端进行执行后返回给client端结果的一个过程。 attention:一发一收 socket创建 s = socket.socket()这样就创建了一个socket对象。
阅读全文
摘要:1.如何创建类 通过上述的创建方法中,可以看出关键词是class。并且与函数不同的是类名后面没有加括号。 2.如何创建方法 首先方法其实就是类中的函数。所以创建方式还是与之前相同,也可以在函数中传入一些参数,但是第一个参数必须是self。 2.1普通方法 构造方法 构造方法也是一个函数,不同的地方是
阅读全文
摘要:就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 字符匹配(普通字符,元字符): 1 普通字符:大多数字符和字母都会和自身匹配 >>>
阅读全文
摘要:1.两种创建方式generator 1.1 s = (x*x for x in range(10)) 这种创建方式打印s为: <generator object <genexpr> at 0x0000028B68B47888> 1.2 这时候的s和f()都是一个可迭代对象iteration。 相对与
阅读全文
摘要:1.时间模块 import time # 调用time.time() # 从1970年1月1日开始算 以秒计算 **********time.clock() # cpu 工作的时间段time.sleep(2) # 暂停时间多少秒 ************print(time.gmtime()) #
阅读全文
摘要:1.写在前面 1.1为什么要有装饰器(decorator) 一般在写好的系统中,函数是不允许随便更改的,以免发生不可预见的连环崩溃。但是,随着系统的更新一些必要的功能必须要加到相应的函数中。 这样的情况下,就需要用到装饰器。装饰器本身也是一个函数,写在目标函数的前面。原理形象地将就是将目标函数装饰一
阅读全文

浙公网安备 33010602011771号