1.WhyFlask?官方文档详细,学习成本低,有利于项目其他成员迅速投入开发框架轻,可扩展性高,且有很多好用的扩展(extension)该框架仍在积极地维护和开发2.将要介绍到的Flask的扩展flaskblueprint用于注册、管理路由flask_restful用于支持构建RESTAPIsflask_migrate用于管理数据库版本迁移flask_sqlalchemyorm,用于映射数据库对象,提供数据操作方法3.项目结构-project-user-
系统 2019-09-27 17:53:26 1963
importthreadingimportqueueimporttime'''queue.qsize()返回队列的大小queue.empty()如果队列为空,返回True,反之Falsequeue.full()如果队列满了,返回True,反之Falsequeue.full与maxsize大小对应queue.get([block[,timeout]])获取队列,timeout等待时间queue.get_nowait()相当queue.get(False)qu
系统 2019-09-27 17:53:25 1963
Python数据类型详解——列表在“Python之基本数据类型概览”一节中,大概介绍了列表的基本用法,本节我们详细学一下列表。如何定义列表:在[]内以英文里输入法的逗号,,按照索引,存放各种数据类型,每个位置代表一个元素。回顾一下列表的特点:1、可存放多个值。2、按照从左到右的顺序定义列表元素,下标从0开始顺序访问,是有序的。3、可修改指定索引位置对应的值,可变。一、列表元素的增加操作1、追加用append方法将数据追加到列表的尾部names=['Kwan
系统 2019-09-27 17:53:06 1963
在前面的文章《python小欢喜(六)动画(1)pygame的安装与初步使用》中介绍了如何安装pygame。接下来用pygame开发一个小游戏。游戏界面如下:在游戏窗口中有一个运动的足球,碰到边界或挡板会反弹,玩家通过鼠标的移动,可以拖动挡板左右移动。足球如果碰到窗口下边界,则玩家的生命值减1,如果足球被挡板弹回,则得分数加1。python代码如下:ballGame.py该代码改编自BrysonPayne《TeachYourKidstoCode》第10章的
系统 2019-09-27 17:53:04 1963
粘包问题TCP协议在传输过程中会出现数据粘包问题讲一下TCP和UDP的区别,都是传数据的协议,没有好坏之说,只是不同的应用需求可能会更好选择哪一个协议TCP:适合传输数量大,需要建立连接,会出现粘包问题,粘包问题可以解决,确定传入的长度,接收同样长度就可以保证一次性传输完UDP:适合传输数据量小,没有粘包,不需要连接,一次性传输,下一次就是新的数据,弊端就是数据丢失,不安全QQ是用什么协议呢?按理应该可以用UDP协议,但是实际用的是TCP协议,这是历史遗留
系统 2019-09-27 17:53:03 1963
工厂模式,类似实际的制造车间中,根据订单的需求来生成/创建某个实例。1.应用场景:需要创建的实例不确定,由输入的数据决定;2.实现方法:实现一个独立的类,接收传入的需要创建实例的名称,在该类中实现创建某个具体实例。3.代码:#coding:utf-8classPerson(object):def__init__(self):self.name=Noneself.gender=NonedefgetName(self):returnself.namedefge
系统 2019-09-27 17:52:30 1963
前言或许你已经用过装饰器,它的使用方式非常简单但理解起来困难(其实真正理解的也很简单),想要理解装饰器,你需要懂点函数式编程的概念,python函数的定义以及函数调用的语法规则等,虽然我没法把装饰器变得简单,但是我希望可以通过下面的步骤让你由浅入深明白装饰器是什么。假定你拥有最基本的Python知识,本文阐述的东西可能对那些在工作中经常接触Python的人有很大的帮助。1、函数(Functions)在Python里,函数是用def关键字后跟一个函数名称和一
系统 2019-09-27 17:51:47 1963
功能:为已存在的函数或对象添加额外的功能原则:不改变源代码为其添加功能不改变函数的调用方式方法:装饰器=高阶函数+嵌套函数(高阶函数:一个函数可以作为参数传递给另外一个函数,或者,一个函数的返回值是一个函数,即函数的入口地址)函数名作为参数传递给装饰器(@decorator_name)装饰函数返回函数名(函数地址)注意:默认情况下,装饰器会修改名字和文档说明,但是可以使用functools中的@wraps()解决。@wraps接受一个函数来进行装饰,并加入
系统 2019-09-27 17:51:46 1963
Python之父再发文:构建一个PEG解析器image花下猫语:Python之父在Medium上开了博客,现在写了两篇文章,本文是第二篇的译文。前一篇的译文在此,宣布了将要用PEG解析器来替换当前的pgen解析器。本文主要介绍了构建一个PEG解析器的大体思路,并介绍了一些基本的语法规则。根据Python之父的描述,这个PEG解析器还是一个很笼统的实验品,而他也预告了,将会在以后的系列文章中丰富这个解析器。阅读这篇文章就像在读一篇教程,虽然很难看懂,但是感觉
系统 2019-09-27 17:51:22 1963
今日主要内容函数初识函数定义函数调用函数返回值函数参数一、函数初识(一)为什么要用函数有一个需求,给出一个变量,计算变量的长度,要求不能使用len()s="郭老湿今天崩溃了,在后面直叹气"count=0foriins:count+=1print(count)我们利用上述一段代码完成了需求,很强666。但是问题来了,现在100个人每个人给你一个变量,让你计算变量的长度,此时只能苦逼的敲代码来计算!!!s=......count=0foriins:count+
系统 2019-09-27 17:51:05 1963