- 博客(26)
- 收藏
- 关注
转载 SQL查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from ...
2019-05-01 17:26:23
1308
转载 Python asyncio异步编程
asyncio模块提供了使用协程构建并发应用的工具。它使用一种单线程单进程的的方式实现并发,应用的各个部分彼此合作, 可以显示的切换任务,一般会在程序阻塞I/O操作的时候发生上下文切换如等待读写文件,或者请求网络。同时asyncio也支持调度代码在将来的某个特定事件运行,从而支持一个协程等待另一个协程完成,以处理系统信号和识别其他一些事件。异步并发的概念对于其他的并发模型大多数采取的都是线性的...
2019-04-21 14:52:40
362
原创 Python 迭代器与生成器
迭代器与可迭代对象概念迭代器:是访问数据集合内元素的一种方式,一般用来遍历数据,但是他不能像列表一样使用下标来获取数据,也就是说迭代器是不能返回的。Iterator:迭代器对象,必须要实现next魔法函数Iterable:可迭代对象,继承Iterator,必须要实现iter魔法函数比如:from collections import Iterable,Iteratora = [1,2...
2019-04-20 17:07:09
194
转载 Ngnix服务器,WSGI协议,Flask框架之间的关系
客户端从发送一个 HTTP 请求到 Flask 处理请求,分别经过了 web服务器层,WSGI层,web框架层,这三个层次。不同的层次其作用也不同,下面简要介绍各层的作用。图1:web服务器,web框架与 WSGI 的三层关系Web服务器层对于传统的客户端 - 服务器架构,其请求的处理过程是,客户端向服务器发送请求,服务器接收请求并处理请求,然后给客户端返回响应。在这个过程中,服务器的作用...
2019-04-15 14:19:34
221
转载 Python多任务之进程,线程,以及协程
多任务并发:同一时间段 执行多个任务 —> 如:单核 基于时间片的CPU轮转并行:同一时间点 执行多个任务 —> 如:多核进程vs线程进程是资源分配的独立单位,线程是操作系统调度的基本执行单位一个程序中默认有一个主进程,一个进程中默认有一个主线程进程间是不共享数据,线程间是共享数据多进程和多线程的执行顺序是无序的程序会等待所有进程结束再关闭退出,进程结束则关闭释放资源...
2019-04-14 14:52:04
218
转载 Django Web开发之ORM操作
Django内置ORM框架,对数据库的操作十分方便。在Web开发中,当我们的程序涉及到数据库相关操作时,主要有以下思路:创建数据库,设计表结构和字段使用 MySQLdb 来连接数据库,并编写数据访问层代码业务逻辑层去调用数据访问层执行数据库操作ORM是什么?:ORM:Object Relational Mapping(关系对象映射)类名对应------》数据库中的表名类属性对应--...
2019-04-13 17:00:55
473
转载 Python函数形参之*args, **kwargs
*args:(表示的就是将实参中按照位置传值,多出来的值都给args,且以元祖的方式呈现)示例:def foo(x,*args): print(x) print(args) foo(1,2,3,4,5)#其中的2,3,4,5都给了args在这里插入代码片执行结果是:(2, 3, 4, 5)当args与位置参数和默认参数混用的情况下:(注意三者的顺序)示例一、(三...
2019-04-12 20:56:40
282
原创 Python中常见的脚本
1、冒泡排序2、计算x的n次方的方法3、计算aa + bb + c*c + ……4、计算阶乘 n!5、列出当前目录下的所有文件和目录名6、把一个list中所有的字符串变成小写:7、输出某个路径下的所有文件和文件夹的路径8、输出某个路径及其子目录下的所有文件路径9、输出某个路径及其子目录下所有以.html为后缀的文件10、把原字典的键值对颠倒并生产新的字典...
2019-01-28 21:41:16
445
转载 好用的Python工具
工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐给追求美好事物的你。Python TutorPython Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教...
2018-12-12 19:57:43
267
原创 什么是WSGI?
一个完整的 Web 应用包含两部分,一个是服务器程序(Server),一个是应用程序(Application),服务器程序负责接收浏览器发送过来的请求,应用程序负责处理具体的业务逻辑。 比如我基于 Django 框架开发一个博客应用,部署在生产环境时会用 Gunicorn 或者 Uwsgi 作为服务器程序。Python 中 Web 框架非常多,Flask、Django、Bottle、Pyrami...
2018-12-12 12:37:24
272
1
转载 常见的python报错及解决方案
1NameError变量名错误报错:>>> print aTraceback (most recent call last):File "<stdin>", line 1, in <module>NameError: name 'a' is not defined解决方案:先要给a赋值。才能使用它。在实际编写代码过程中,报NameErro...
2018-12-08 16:32:57
20279
转载 Python 2.x 与 Python 3.x 的区别
前言如果你是刚接触 Python 的初学者,那你可能是直接学习 Python 3.x 版本。对于 Python 2.x 的版本是不会有所接触。官方也宣布在 2020 停止对 Python 2.x 的维护。我也建议初学者直接去学 Python 3.x 版本。但我们还是要去了解下 Python 3.x 与 Python 2.x 之间都有哪些改变,通过对比能让你对 Python 有更加深刻的理解。并...
2018-12-07 21:28:47
213
转载 Python Web框架:Django写图书管理系统(LMS)
Django文件配置Django模版文件配置文件路径 test_site – test_site – settings.pyTEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, "temp...
2018-12-06 20:57:49
2306
转载 基于Python搭建Django后台管理系统
一、博客网站的创建创建项目生成站点(sites)Model,这两步骤第一篇有介绍,这里就直接操作了二、数据库配置介绍一下数据库的配置就是在setting里面配置链接的数据库,这里系统以及配置好了,链接一个叫做db.sqlite3的数据库,也许有读者会问,这个数据库在哪里,我怎么没有,没关系,你跑一下项目,系统就自动生成一个这个数据库了,当然django也支持MySQL等其他数据库,这里...
2018-12-05 22:33:01
782
1
转载 Python web开发:Flask的URL和视图
URL与视图URL与函数的映射:从之前的helloworld.py文件中,我们已经看到,一个URL要与执行函数进行映射,使用的是@app.route装饰器。@app.route装饰器中,可以指定URL的规则来进行更加详细的映射,比如现在要映射一个文章详情的URL,文章详情的URL是/article/id/,id有可能为1、2、3…,那么可以通过以下方式:@app.route('/articl...
2018-12-03 21:40:51
185
转载 Python web开发:Flask的项目配置
认识weburl详解:URL是Uniform Resource Locator的简写,统一资源定位符。一个URL由以下几部分组成:scheme://host:port/path/?query-string=xxx#anchor1scheme:代表的是访问的协议,一般为http或者https以及ftp等。host:主机名,域名,比如www.baidu.com。port:端口号。当你访...
2018-12-02 21:21:30
278
转载 代码调试
再牛的程序员也没法一口气把代码全部写正确,通常做法就是写一小段然后验证代码正确性,再继续写下一段,这样能保证代码不会错得太离谱。怎么衡量一小段代码呢?在你觉得这段代码没有十足把握的情况下就应该停下来验证一下。调试的本质是确认你认为正确的事情确实是正确的,这次来介绍一下 Python 中调试代码的 N 种姿势printprint 函数使用简单方便,所以开发中我们经常使用它做简单调试,来打印某个...
2018-12-01 20:40:16
366
原创 Python实战项目代码
以下是经过Python3.6.4调试通过的代码,与大家分享:1、抓取知乎图片2、听两个聊天机器人互相聊天(图灵、青云、小i)3、AI分析唐诗的作者是李白还是杜4、彩票随机生成35选75、自动写检讨书6、屏幕录相机7、制作Gif动图1、抓取知乎图片,只用30行代码:import refrom selenium import webdriverimport timeimport...
2018-11-30 15:28:48
427
1
转载 Python 开发中的高级技巧
Python 开发中有哪些高级技巧?这是知乎上一个问题,我总结了一些常见的技巧在这里,可能谈不上多高级,但掌握这些至少可以让你的代码看起来 Pythonic 一点。如果你还在按照类C语言的那套风格来写的话,在 code review 恐怕会要被吐槽了。列表推导式>>> chars = [ c for c in 'python' ]>>> chars['p...
2018-11-29 19:31:46
153
转载 实用的Python小技巧
人生苦短,为什么我要用Python?很多读者都知道 Python 是一种高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意。实际上,很多人选择学习 Python 的首要原因是其编程的优美性,用它编码和表达想法非常自然。此外,Python 的编写使用方式有多种,数据科学、网页开发、机器学习皆可使用 Python,Quora、Pinterest 和 Spot...
2018-11-28 10:11:20
121
转载 MySQL数据库开发的36条军规
来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。文末是详细的视频讲解核心军规尽量不在数据库做运算控制单表数据量 纯INT不超过10M条,含Char不超过5M条保持表身段苗条平衡范式和冗余拒绝大SQL,复杂事务,大批量任务字段类军规用好数值字段,尽量简化字段位数把字符转化为数字优先使用Enum或Set...
2018-11-25 19:56:07
129
转载 Python核心编程的四大神兽:迭代器、生成器 、闭包以及装饰器
生成器生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数后续的代码,并且返回一个值;在下一次调用该函数执行时,程序将从上一次暂停的位置继续往下执行。通过一个例子来理解生成器的执行过程。求1-10的所有整数的立方并将结果打印输出,正常使用列表的实现如下:def lifang_ls(): """求1-10所用整数...
2018-11-24 22:00:16
118
转载 鸡肋?? Python 多线程之争
为什么有人会说 Python 多线程是鸡肋?知乎上有人提出这样一个问题,在我们常识中,多进程、多线程都是通过并发的方式充分利用硬件资源提高程序的运行效率,怎么在 Python 中反而成了鸡肋?有同学可能知道答案,因为 Python 中臭名昭著的 GIL。那么 GIL 是什么?为什么会有 GIL?多线程真的是鸡肋吗? GIL 可以去掉吗?带着这些问题,我们一起往下看,同时需要你有一点点耐心。多...
2018-11-23 22:27:52
132
转载 浅谈TCP/IP
每个人每天都在依赖网络通信,那么这些设备之间究竟是如何通信的?我在这里写下这篇文章,你却能在千山万水之外阅读它。今天简要谈一下通信协议。网络通信协议网络通信协议主要是对信息的传输速率、传输代码、代码结构、传输控制步骤、差错控制等做出的规定并制订的标准。协议主要由以下三个部分组成:语义:需要的控制信息以及执行的动作语法:交换的数据或控制信息的格式与结构时序:双方的应答关系,包括速度的匹配...
2018-11-22 22:02:37
147
原创 Python语法全面总结
Python 3基础语法知识点都在这里了,如果还不能入门就不能怪我了python 10月30日简介Python 是一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 由 Guido van Rossum 于 1989 年底在荷兰国家数学和计算机科学研究所发明,第一个公开发行版发行于 1991 年。特点易于学习:Python 有相对较少的关键字,结构简单,和一个明...
2018-11-19 21:22:22
791
原创 变量和类型
变量定义在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建等号(=)用来给变量赋值= 左边是一个变量名= 右边是存储在变量中的值变量名 = 值变量定义之后,后续就可以直接使用了# 定义 qq 号码变量qq_number = &quot;1234567&quot;# 定义 qq 密码变量qq_password = &quot;123&quot;# 在程
2018-11-18 18:31:16
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人