![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 84
sp_snowflake
学!
展开
-
Python—Tornado框架(四)异步非阻塞框架
Python—Tornado框架(四)异步非阻塞框架部分博文参考:https://www.cnblogs.com/wupeiqi/articles/5702910.html一、异步非阻塞框架介绍1、初步介绍a、同步测试:一个等待十秒,另一个不用等待,先访问需要等待的,再访问不用等待的,可以发现两个都要等待。先来先处理,后来的等待处理,这是同步。b、异步非阻塞导入tornado的gen,Future模块接着需要加入一个装饰器:还没完:这时,即便在等待期间,也不会阻塞其他任务,其他任务原创 2021-05-27 14:40:22 · 338 阅读 · 0 评论 -
Python—Tornado框架(三)WebSocket原理
Python——Tornado框架(三)、WebSocket一、WebSocket介绍Http——socket实现,短链接。链接之后断开。只能请求响应。WebSocket——socket实现,双工通道。想什么时候断就什么时候断。不仅请求响应,还能推送。本质就是Socket创建链接,不断开。知道了本质,就可以从socket入手:...原创 2021-05-27 11:43:30 · 1828 阅读 · 0 评论 -
restful规范介绍和 django rest framework
restful规范介绍部分参考博文:https://www.cnblogs.com/alex3714/articles/6808013.html多人开发,需要有一定的开发规范,不然就会乱套,这个规范就是restful。一、总结RESTful架构:(1)每一个URI代表一种资源。(2)客户端和服务器之间,传递这种资源的某种表现层。(3)客户端通过四个HTTP动词,对服务器资源进行操作,实现“表现层状态转化”。说白了,restful就是一套API的设计规范。二、误区RESTful架构有一些典型原创 2021-05-25 17:40:17 · 172 阅读 · 0 评论 -
Python——Tornado框架(一)、基本操作、使用Cookie、模板引擎
Python——Tornado框架(一)参考博文:https://www.cnblogs.com/wupeiqi/articles/5341480.html这个Tornado框架,与Django框架有什么区别呢?Tornado连数据库的ORM操作都没有,需要自己到数据库写语句。相对于Django,Tornado的组件特别少。在Tornado里,主要是用的还是CBV的方式。Tornado有自己的模板引擎渲染方式。Tornado没有form验证,没有session。所以需要自己写,自己开发组件。一、基原创 2021-05-16 16:13:13 · 4302 阅读 · 3 评论 -
Python——Django框架(十一)、HTML插件、动态绑定数据
Python——Django框架(十一)一、HTML插件1、插件前面讲的,Form组件的字段,本质上不仅只是有正则表达式,还有HTML插件。比如写了这么一段代码,除了可以验证外,页面上还能显示相对应的框框,这就是引用了插件。这里可以看下源码:可以看到,是带有 select 插件。看看插件的源码:这里就能看到插件源码里面,return了前端的代码,中间预留了空位,是准备做字符串格式化的。2、插件的自定义属性前端代码:可以看到,后端这么写,能给前端插入一些自定义属性。3、后端返回前端原创 2021-05-02 23:14:45 · 1243 阅读 · 10 评论 -
Python——Django框架(十)、Form组件、生成HTML代码、Form组件详解字段
Python——Django框架(十)、Form组件参考博文:https://www.cnblogs.com/wupeiqi/articles/6144178.html一、Form组件Django的Form组件有什么用?1、最常见的,注册登录,可以通过这里已经Form组件已经封装好的方法来验证。可以看到,每一个字段都有不同格式的要求,那我们可以:1、验证a、验证然后我们开始创建:首先要引进模块:接着开始创建类:然后看看前端代码:注意:前端的 name 对应后端起的字段名。原创 2021-05-02 17:43:45 · 669 阅读 · 4 评论 -
Python——Django框架(九)、Django内置分页组件、分页拓展、自定义分页
Python——Django框架(九)、Django内置分页组件、分页拓展、自定义分页参考博客:https://www.cnblogs.com/wupeiqi/articles/5246483.html一、Django自带的分页组件1、前期准备与URL控制分页首先是路由这块,re_path 带的正则表达式应该这么写:为了以后分页,路由带了数字的前期准备。然后举个例子:结果:数量很多很多,这时候就需要分页。如果在地址栏上这么写:意思为看第一页,那么这样:可以获取 p 等于几,比原创 2021-04-27 22:19:45 · 1197 阅读 · 2 评论 -
Python——Django框架(八)、Django请求生命周期——HTTP请求、Django生命周期之FBV和CBV、类(CBV)的反射、请求周期的响应内容、基本流程总结
Python——Django框架(八)、Django请求生命周期一、HTTP请求1、传递请求跟响应默认传递的都是字符串,这个大字符串分成了两部分:请求字符串响应字符串a、请求字符串比如:打开一个博客园的网站,查看里面的请求头请求头:上面的 Request Headers 就是请求头,会把这么多东西都发过去。还有一个就是请求体。请求体:接着我们可以尝试登录注册:里面有个form Data,这个就是请求内容。这两部分会发到我们的服务器端,服务端接收的时候,这整个字符串,需要把它们原创 2021-04-27 17:32:56 · 400 阅读 · 1 评论 -
Python——Django框架(一)MVC与MTV,Django的创建与简单使用,以及一些特定功能的文件夹,url路由控制系统
Python——Django框架(一)参考博文:https://www.cnblogs.com/yuanchenqi/articles/6083427.html请注意你的Django版本,博主虽然看的视频是Djnago2,但使用的版本是Django 3.1.5,博客会尽可能根据3.1.5此版本来写,但不一定写得完整。一、MVC模式与MTV模式1、MVC模式在MVC模式里面的V,是一个个html文件。2、MTV模式Model就是怎么去通过py的语法调用数据库的表以及记录。T是模板,给用户看原创 2021-02-03 21:59:21 · 313 阅读 · 0 评论 -
Python——pymysql
Python——pymysql参考博文:https://www.cnblogs.com/yuanchenqi/articles/6437362.htmlpymysql基本操作pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同。首先pycharm要先安装pymysql模块这里的pymysql模块就是在python里面操纵mysql,写的都是mysql的原生语句,水平全看mysql的水平。当然还有其它方式,ORM,ORM有自己的一套语法,后面会有。一、要操作原创 2021-01-24 23:28:14 · 252 阅读 · 0 评论 -
Python——线程
Python——线程一、线程的调用调用线程需要导入 threading 模块在以往,运行程序是从上到下顺序运行。现在如果想要两个函数同时运行,那么这里就要需要用到线程模块。看时间能够得知,是同时出来的。二、1、join方法——子线程结束之后父线程才能结束上图中,加了个print(),我们通过多次运行可以发现发生如上图所示情况,print 是主线程,t1是线程1,t2是线程二。虽然三个线程是同时出来,但是有时出来的顺序不一。这时我们来看一下 join 方法:加入了 join 之后,其意原创 2021-01-10 01:07:35 · 115 阅读 · 0 评论 -
Python——Scoket编程
什么是Scoket?原创 2021-01-09 11:37:27 · 203 阅读 · 0 评论 -
Python——hashlib模块
Python——hashlib模块用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法1、hashlib.md5() —— md5 加密(算法固定)2、m.update(“hello”.encode(“utf8”)) —— 使一个字符串加密成定长的(32位)密文,此字符串与密文对应3、md5 密文不能反解(明文加密成密文,密文不能解密为明文)既然不能反解,那就将用户名也加密成密文,让用户名的密原创 2021-01-04 20:20:37 · 83 阅读 · 0 评论 -
Python——什么是异常处理和异常处理的两种方式对比
Python——什么是异常处理和异常处理的两种方式对比什么是异常程序中难免出现出错,一般可以分为两种:1、语法错误2、逻辑错误1、什么是异常:异常是程序运行时发生错误的信号 。2、python中异常的种类在python中不同的异常可以用不同的类型(python中同一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误1、常用异常异常处理1、什么是异常处理2、为何要进行异常处理3、如何进行异常处理异常是由程序的错误引起的,语法上的错误跟异常处理无关,原创 2020-12-29 23:33:20 · 385 阅读 · 0 评论 -
Python——元类
Python——元类元类介绍对象是由类实例化而来,那么类呢?类同样是由另外一个类实例化而来。这个最基础的类成为元类。可以看到,这个类是 ‘type’ 类。创建类的两种方式首先创建一个类最直接的就是使用 class 关键字。当我们知道类是由 type 实例化而来的时候,就可以用 type 来创建一个类。type 创建类:举个例子:我们平时创建的类里有许多内置方法,同样这里可以自己创建:自定义元类未完待续...原创 2020-12-29 21:39:21 · 75 阅读 · 0 评论 -
Python——软件开发规范
Python——软件开发规范目录结构每个人的风格都不尽相同,这里提供一种参考:bin目录:放 启动文件 / 初始化脚本 / 启动脚本 (程序的入口)conf目录:放 配置文件db目录:放 数据文件lib目录:放 公共类库 (各个位置都可能用到的功能就放这里面)log目录:放 日志目录src目录:存放 主逻辑 (有的人命名为:core,意为核心)...原创 2020-12-26 17:54:21 · 98 阅读 · 0 评论 -
Pyhton——面向对象进阶一:反射、动态导入模块、类的内置attr属性
Pyhton——反射反射的四个方法1、hasattr(object,name)——检测名字在不在这个对象里面判断 object 中有没有一个 name 字符串对应的方法或属性2、getattr(object,name,default=None)——找出名字所对应的属性的内容。默认值是none,如果不写,找不到的时候会报错;如果写了,找不到不会报错,会打印预置的内容3、setattr(object,name,value)——给对象设置新属性(对象,名字,值)上面代码中的 h1.name原创 2020-12-22 17:17:11 · 211 阅读 · 0 评论 -
Python——面向对象三大特性之封装
Python——面向对象三大特性之封装封装含义封装单从字面意思理解,装就是装东西,封就是不让外面知道。封的概念代表隐藏。我们学习过的类就有封装的概念。Pyhton并不依赖语言的特性去封装数据,而是通过遵循一定的数据属性和函数属性的命名约定来达到封装的效果。(大白话讲,python并没有真实封装隐藏的语法,更像是通过君子协议,告诉你这个就是我要封装隐藏的东西,外部调用者不能调用这个;然而外部者想要调用还是能调用的到的)约定一:任何以单下划线开头的名字都应该是内部的,私有的class H2o:原创 2020-12-21 21:46:05 · 175 阅读 · 0 评论 -
Python——面向对象三大特性之多态
Python——面向对象三大特性之多态class H2o: def __init__(self,name,tem): self.name = name self.tem = tem def change(self): if self.tem < 0: print('[%s]:温度太低结成冰'%self.name) elif self.tem > 0 and self.tem < 1原创 2020-12-21 00:10:52 · 159 阅读 · 0 评论 -
Python——实例与类之间需要注意的地方
一些类与对象容易让人迷惑误解的相关知识如果没有特别提供代码,则默认的是以下代码class Chinese: #"这是一个中国人的类" country = '中国' def __init__(self,name,age): self.name = name self.age = age def history(self): print("中国拥有上下五千年的历史") def people(self):原创 2020-12-19 23:22:11 · 134 阅读 · 1 评论 -
Python——面向对象三大特性之继承
Python——面向对象之继承https://www.cnblogs.com/songzhixue/p/10058957.html原创 2020-11-19 21:05:48 · 200 阅读 · 0 评论 -
Python——面向对象
Python——面向对象https://www.cnblogs.com/linhaifeng/articles/6182264.html原创 2020-11-17 20:58:04 · 182 阅读 · 0 评论 -
Pyhton——re模块
Pyhton——re模块一、re模块里有两种字符:1、普通字符: 大多数字符和字母都会和自身匹配2、元字符: . ^ $ * + ? { } [ ] | ( ) \1、re.findall(“xx1”,“xx2”)——完全匹配。(xx1为要匹配的关键字,xx2为被匹配的内容)2、. ——通配符(功能是任何字符都可以代替,除了“\n” 换行符)3、^ ——从开头去匹配4、 $ ——从结尾去匹配二、重复符号(重复紧挨着前面的那个字符)1、* ——重复0到无穷次由于是0到无穷次原创 2020-11-10 00:36:13 · 177 阅读 · 0 评论 -
Python——XML模块
Python——XML模块xml跟json差不多,是实现不同语言或程序进行数据交换的一种协议。json使用起来更好更简单,但因为xml出来的早,直到现在大多数传统行业比如金融行业都在使用。如果模块名字过长,可以在as后面使用缩写,之后引用就可以引用缩写XML格式xml是标签语言,其结构跟一颗大树相似,有根节点与其子节点以下的etree.ElementTree方法简称ET查1、ET.parse(xx.xml)读取xml文件2、get.root()——取其根节点(上图的data)3、ta原创 2020-11-08 17:14:15 · 2158 阅读 · 0 评论 -
Pyhton——json&pickle模块
Pyhton——json模块要存入 json的字符串一定要双引号json会把所有数据里面的单引号变双引号,接着再变成json字符串1、json.dumps()——通过json规范存储的json字符串数据其中,还有个方法是json.dump,少了个S,其用法是(不建议此用法):dump一步等于dumps的两步2、json.loads()——遵守json规范取出的数据其中,json.load的用法是(不建议此用法):...原创 2020-11-07 21:12:28 · 121 阅读 · 0 评论 -
Python——os模块
Python——os模块os模块是与操作系统交互的一个接口1、os.getcwd()——获取当前工作目录2、os.chdir()——改变当前工作目录3、os.makedir()——生成单层目录4、os.makedirs()——生成多层递归目录5、os.rmdir()——删除单级空目录,若目录不为空,则无法删除,且报错6、os.removedirs()——若目录为空,则删除,并找到上一层目录,若也为空,则删除;以此类推7、os.listdir()——列出指定目录下的所有文件和子目录,包原创 2020-11-07 16:10:43 · 312 阅读 · 0 评论 -
Python——模块导入的路径问题
Python——模块导入的路径问题问题:把相关文件放到其他计算机也可以使用(路径问题)相关知识:1、sys.path.append():临时修改环境变量永久修改环境变量需要在系统设置里修改2、 __ file __在pycharm里打印__file__输出的是路径,其实是pycharm自己添加的操作。实质上__file__只输出文件名xx.py3、os下的一个方法 os.path.dirname()这个方法能找到当前 文件/文件夹 的上层目录4、绝对路径 os.path.abspath原创 2020-11-05 16:09:19 · 149 阅读 · 0 评论 -
Python——random模块(随机模块)
Python——random模块1、一个0~1之间的随机浮点数random.random()——(0,1)- - - float2、随机整型random.randint(1,3)——[1,3] - - - 随机1到33、random.randrange(1,3)——[1,3) - - - 随机1到2(跟int的区别是左取右不取)4、对某可迭代对象的随机选取random.choice()5、对某可迭代对象的多个随机选取random.sample( [1,2,3,4,5],x )——X填数量原创 2020-10-27 14:18:56 · 149 阅读 · 0 评论 -
Python——time时间模块
Python——time时间模块1、时间戳time()——显示的是一个秒数,从1970年1月1日凌晨0点到此时此刻的秒数。2、结构化时间localtime()——原创 2020-10-27 01:56:46 · 241 阅读 · 0 评论 -
Python_import ——导入功能详解
1原创 2020-10-25 20:29:53 · 994 阅读 · 0 评论 -
Python的__name__与__main__
if (__ name__=="__ main__") 功能详解1、运行某.py文件,当运行文件里有print(__ name__)时,输出的是:__ main__2、当此文件属于被调用文件时,运行print(__ name__),输出的是运行文件到调用文件的路径用法:1、测试当需要测试运行文件时,在 if (__ name__=="__ main__") 后面写上需要测试的操作;当属于被调用的文件时,__ name__就不等于__ main__,后面的操作就不会执行。2、限制调用一般bin文原创 2020-10-25 20:29:37 · 392 阅读 · 0 评论 -
Python——装饰器
Python——装饰器装饰器本质就是函数,功能是为其他函数添加附加功能原则有二:1、不修改被修饰函数的源代码2、不修改被修饰函数的调用方式装饰器=高阶函数+函数嵌套+闭包高阶函数定义:1、函数接受的参数是一个函数名2、函数的返回值是一个函数名满足上述条件任意一个,即是高阶函数猜想:如果把高阶函数的两个条件结合使用,能附加新的功能吗(达到装饰器的效果)?结果是多运行了一步。...原创 2020-05-04 16:38:32 · 128 阅读 · 0 评论 -
Python——迭代器与生成器和三元表达式
Python——迭代器与生成器和三元表达式三元表达式普通的if语句: if name == ‘alex’: print(‘丑比’) else print(‘帅哥’)三元表达式:‘丑比’ if name == ‘alex’ else '帅哥’迭代器协议1、迭代器协议是指:对象必须提供一个next()方法,,执行该方法要么返回迭代中的下一项,要么就引起一个StopItera...原创 2020-04-17 18:25:48 · 165 阅读 · 1 评论 -
Python——文件处理及其相关函数
Python——文件处理无论读还是写,都必须是字符串读模式1、假设目前有一个py文件名为:文件处理,打开只读操作为:f = open(‘文件处理’,‘r’,encoding=‘utf-8’) //如果不写‘r’,默认的是只读模式data = f.read()print(data)f.close()如果不指定编码,默认为GBK;最后必须都得有close()关闭处理2、f.r...原创 2020-04-15 18:25:27 · 272 阅读 · 0 评论 -
Python——函数式编程、高阶函数及内置函数
Python——函数式编程、高阶函数及内置函数函数式编程一、不可变数据:不用变量保存状态不修改变量二、第一类对象:函数即“变量”1、函数名可以当做参数传递2、返回值可以是函数名三、尾调用优化(尾递归): 在函数的最后一步调用另外一个函数(最后一行不一定是函数的最后一步)尾调用由于是函数的最后一步操作,不需要保留外层函数的调用记录,因为调用位置、内部变量等信息不会再用到了,只需要直接用...原创 2020-04-09 16:31:53 · 274 阅读 · 0 评论 -
Python——匿名函数
Python——匿名函数匿名函数: lamdba格式: 变量名:处理逻辑(例如: lamdba x,y:x+y)原创 2020-04-04 22:21:44 · 82 阅读 · 0 评论 -
Python——全局变量与局部变量
Python——全局变量与局部变量1、global 变量名:在函数中使用,把全局变量拿过来,可读取可进行赋值操作NAME = qwedef q():NAME = qqq----------------------global NAME----------------------print(name)此代码为错误代码,程序会报错,程序会识别不出NAME为局部变量还是全局变量2、前向引...原创 2020-03-15 17:48:40 · 88 阅读 · 0 评论 -
Python——函数
Python——函数1、函数名不能重名,如果重名,则调动最下面的函数2、返回值数=0,返回none;返回值数=1,返回object,返回值数>1,返回tuple3、位置参数,位置必须一一对应,缺一多一都不行def test(x,y,z):print(x)print(y)print(z)test(1,2,3)4、关键字参数,位置无须一一对应,缺一多一都不行(位置参数必须在关键...原创 2020-03-14 19:06:51 · 441 阅读 · 0 评论 -
Python——字符串格式化
Python——字符串格式化一、百分号%(%s可以接收任何类型,%.x “.”代表截取多少位)1、需要按顺序一一对应msg = ‘i am %s my hobby is %s’ %(‘ccc’,‘alex’)2、%f 小数点后只保留6位msg = “percent %f” %99.1234563、字典形式对应msg = "i am %(name)s age %(age)d ...原创 2020-03-13 22:53:27 · 209 阅读 · 0 评论 -
Python——集合
Python——集合1、集合(set)由不同元素组成,且没有相同元素2、无序3、集合中元素必须是不可变类型4、set():定义集合(可以用此方法简单的去重,但是没有顺序)5、frozenset():用此方法定义不可变集合方法:1、add():增加(只能增加一个值)2、clear():清空3、copy():拷贝4、pop():随机删除5、remove():指定删除(删除的元素...原创 2020-03-13 22:10:46 · 88 阅读 · 1 评论