Python
文章平均质量分 82
qinayou1213
本人文章只是记录学习,有错误的希望大家指出
展开
-
flask学习-模板
模板简介模板是web开发必备的模块,因为我们在渲染一个网页的时候,不一定都是纯文本,有时候是富文本,这时候我们就需要用到模板了,flask配置的模板是jinja2,这个模板很强大,执行效率高flask渲染jinja2模板Flask渲染jinja2只需要通过render_template()方法即可,但是我们必须要创建一个templates目录来放模板文件,当然可以修改模板文件的路径,通过Fl...原创 2020-05-05 13:27:43 · 392 阅读 · 0 评论 -
flask框架-URL和视图
URL与函数的映射前面我们使用app.route("/"),其实我们也可以指定url的规则来进行更加详尽的映射。@app.route("/list/<aid>/")# 函数里面一般是接受尖括号里面的,默认是接受字符串def index(aid): return "string--第一个flask的第{}页".format(aid)< >是固定写法,aid...原创 2020-05-03 21:36:45 · 362 阅读 · 0 评论 -
flask学习-简单介绍
flask是什么?flask是用Python编写的轻量级的web框架, 其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授特点简洁性,扩展性好开发效率高,灵活性强拥有灵活的jinja2模板引擎,提高代码的复用性第一个flask程序from flask import Flaskapp = Flask(__name__)@...原创 2020-05-03 09:25:21 · 384 阅读 · 0 评论 -
flask学习-虚拟环境的简单介绍
虚拟环境什么是虚拟环境呢? 虚拟环境主要目的是给不同工程独立创建不同的运行环境,不同工程用的虚拟环境不一样,安装的包版本可以不一致,这样就可以隔离每个项目为什么用虚拟环境? 我们使用pip install xx 安装一些库的时候...原创 2020-04-20 22:15:38 · 222 阅读 · 0 评论 -
python高级编程技巧练习
如何区别可变数据类型和不可变数据类型?python的数据类型中int, str ,tuple是不可变数据类型list,dict,set 是可变数据类型那我们应该怎么样去区分是否可变呢?可变就是在id地址不变的情况下值可以变,但是不可变的数据类型如果值变了,它的id指向会跟着变,指向一个新的id地址例子:不可变数据类型num = 11print(id(num))num += 11...原创 2020-02-16 23:26:57 · 205 阅读 · 0 评论 -
web安全攻防——shodan的介绍
1原创 2020-02-14 10:01:00 · 2163 阅读 · 0 评论 -
web安全攻防——信息收集(hacking收集,HTTP响应,真实IP地址)
hocking 语法google hack是指使用Google等搜索引擎对某些特定的网络主机漏洞进行搜索,以达到快速找到 漏洞主机或特定主机的漏洞的目的intext:——搜索正文内容 例如intext:网站管理intitle:——搜索标题内容 例如intitle:后台管理filetype:——搜索指定文件格式 例如filetype:txtinurl:——搜索特定URL。 例如.php?i...原创 2020-02-12 15:51:39 · 622 阅读 · 0 评论 -
Web安全攻防--信息收集(域名,端口)
信息收集域名介绍简单来说域名其实就是我们经常看到的网址,只不过域名的级数不一样,所以有时候我们看到的长度不一,官方点说域名就是:域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名使一个IP地址有"面具" 。访问网站流程: 我们在...原创 2020-02-12 10:39:27 · 428 阅读 · 0 评论 -
Python高级编程技巧-GIL锁
面试官一般这样问,GIL的概念和对python多线程的影响主线程死循环cpu会占满while True: print(1)两个线程死循环双核CPU会各占一半import threadingdef demo(): while True: passdef main(): t1 = threading.Thread(target=dem...原创 2020-02-04 16:57:26 · 119 阅读 · 0 评论 -
Python高级编程技巧--线程
线程的概念线程(英语:thread):是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务...原创 2020-02-04 13:28:03 · 154 阅读 · 0 评论 -
socket编程--TCP
TCP介绍TCP是面向连接的,可靠的,基于字节流的传输控制协议我们用迅雷下载东西时的向上箭头就是pc端向服务端反馈(应答机制)TCP特点面向连接:通讯双方必须先建立连接,否则传输不了可靠传输:1. 超市重传 2.错误矫正 3.流量控制和阻塞管...原创 2020-02-01 15:47:42 · 172 阅读 · 0 评论 -
socket编程——upd(数据报套接字)
ip地址用来标记网络上的一台电脑如何查看电脑的IP地址?分Windows和Linux系统Windows是ipconfigLinux是ifconfigIP地址的分类按版本分类Ipv4:IP协议的版本号是4目前在用,应用最广泛地址位数是32位(4个字节)地址有限,基本已消耗完毕ipv6:IP协议的版本号是6在试验当中,应用还不广泛地址位数是128位(16个字节)...原创 2020-01-28 12:37:07 · 881 阅读 · 0 评论 -
Python高级编程技巧---协程
先来说几个概念同步: 代码调用IO操作时,必须等到操作完成返回的调用方式,同步是并行异步: 代码调用IO操作时,必须等到操作完成返回的调用方式,异步是串行阻塞: 从调用者的角度说,如果调用时被卡住,不再往下执行,需要等待就是说阻塞非阻塞: 从调用者的角度说,如果调用时没有被卡住,继续往下执行无需等待就是说非阻塞生成器—send方法启动生成器发送值给生成器返回def genera...原创 2020-01-20 12:49:49 · 439 阅读 · 0 评论 -
explain分析SQL语句
硬原创 2020-01-09 09:25:26 · 171 阅读 · 0 评论 -
mysql的基准测试
一. 什么是基准测试?基准测试是测量和评估软件性能指标的活动用于建立某个时刻的性能测试,是针对系统设置的压力测试二. 基准测试特点直接简单,易于比较,用于评估服务器的处理能力,可能不关心业务逻辑,所使用的业务的真实性可能与业务环境可能不一致。三.压力测试特点对真实业务数据进行测试,获得系统真实能承受的压力需要针对不同的主题,所使用的数据和查询也是真实的基准测试简化了压力测试的压力...原创 2020-01-04 11:40:06 · 133 阅读 · 0 评论 -
带你深入了解MySQL存储引擎
一. MySQL内部结构服务层第二层服务层是MySQL的核心,MySQL的核心服务层都在这一层,查询解析,SQL执行计划分析,SQL执行计划优化,查询缓存。以及跨存储引擎的功能都在这一层实现:存储过程,触发器,视图等。通过下图来观察服务层的内部结构:存储引擎层负责MySQL中数据的存储与提取。 服务器中的查询执行引擎通过API与存储引擎进行通信,通过接口屏蔽了不同存储引擎之间的差异。M...原创 2020-01-02 23:23:54 · 210 阅读 · 0 评论 -
MySQL高级——视图&事务&索引&账号管理
视图简单来说, 视图就是一张虚拟表, 一般只用来查询 而不用来修改创建视图create view 视图名 as select 语句:(这个查询出来的东西就是这个虚拟表的数据)使用虚拟表select * from 虚拟表名:删除虚拟表drop view 虚拟表名视图修改有下列内容之一,视图不能做修改select子句中包含distinctselect子句中包含组函数sel...原创 2019-12-17 23:06:02 · 153 阅读 · 0 评论 -
mysql与python交互
安装MySQL第三方库打开pycharm ,点击文件 setting设置,在点击左边的红色框,然后点击右边的加号,会出现一个对话框然后输入pymysql ,然后红色的小圈不用打钩,点击下面的红色框等待安装成功提示就好了python中使用mysql步骤:conn=connect(参数列表)参数host:连接的mysql主机,如果本机是’localhost’参数port:连接的m...原创 2019-12-11 19:36:19 · 142 阅读 · 0 评论 -
python数据库- mysql
数据库简介数据库特点持久化储存读取速度极高保证数据的有效性对程序支持非常好, 易扩展如何理解数据库列是字段 , 行是记录, sheet 相当于表, Excel相当于一个数据库, 一个数据库有多个表安装集成安装 (PHPstudy), 可视化数据库(mysql)sql数据库查询(DQL) 对数据库进行定义(DDL) 对数据库进行操作curd(DML)数据的整体性in...原创 2019-12-05 22:43:53 · 162 阅读 · 0 评论 -
数据结构与算法-树
树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合4个特点每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树E没有父节点, 它是根节点A, F是E的子节点其中也是BCD的父节点,然后BCD称为兄弟节点最下面的是...原创 2019-11-24 10:21:06 · 148 阅读 · 0 评论 -
数据结构与算法-搜索
搜索是在一个项目集合中找到一个特定项目的算法过程, 返回一个布尔值。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找二分法查找二分查找也叫折半查找, 优点是比较次数少, 但是只能是在有序的序列中才能用此方法,查找过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录...原创 2019-11-23 18:55:06 · 101 阅读 · 0 评论 -
数据结构与算法--排序算法
冒泡排序原创 2019-11-23 13:36:11 · 118 阅读 · 0 评论 -
数据结构与算法-- 栈与对列
栈结构: 先进后出, 后进先出,可以想象成叠盘子栈只有入栈处栈两个操作栈既可以用顺序表来实现,也可以用链表来实现。用顺序表实现的栈,我们叫作顺序栈,用链表实现的栈,我们叫作链式栈队列先进先出, 后进后出与栈相似...原创 2019-11-18 13:12:30 · 226 阅读 · 0 评论 -
数据结构与算法 -- 双向链表
定义支持两个方向,每个结点不止有一个后继指针 next 指向后面的结点,还有一个前驱指针 prev 指向前面的结点操作is_empty() 链表是否为空length() 链表长度travel() 遍历链表add(item) 链表头部添加append(item) 链表尾部添加insert(pos, item) 指定位置添加remove(item) 删除节点search(item)...原创 2019-11-16 09:20:51 · 165 阅读 · 0 评论 -
数据结构与算法-单向循环链表
定义单向循环列表类似于单链表. 就是在单链表的尾部指向首结点原创 2019-11-14 17:46:55 · 163 阅读 · 0 评论 -
数据结构与算法-单链
'''节点的实现链表的实现'''class SingleNode(object): """单链表的节点""" def __init__(self, item): self.item = item # item存放数据元素 self.next = None # next是下一个节点的标识# [] append emptycla...原创 2019-11-11 18:08:44 · 260 阅读 · 0 评论 -
数据结构与算法- 第一讲
一. 算法的引入算法其实就是解决问题的独立方法和思想五大特性输入: 可以0或者多个输入输出: 至少一个或者多个输出有穷性: 就是有限循环,不是无限循环确定性: 就是唯一的,没有异议的可行性: 代码每一行都可以执行二. 算法效率衡量我们知道仅仅靠时间来衡量效率是不对的, 因为代码所在的测试环境不一样, 比如i3 与i9的第机器执行同一个代码, 时间很明显不一样,还有受到数据规...原创 2019-11-07 21:17:28 · 128 阅读 · 0 评论 -
模块
垃圾回收垃圾就是在程序中没有被引用的对象_ _ del _ _是python自带的垃圾回收. 不需要我们手动去删除那什么是垃圾呢? 如:class Person(): print('这是一个类') __a = Person()...原创 2019-11-07 18:19:54 · 103 阅读 · 0 评论 -
python文件
文件的读取首先的先打开文件with open(File) as e: print(e.read())原创 2019-11-03 20:02:14 · 1193 阅读 · 0 评论 -
异常与文件
异常就是报错, 要是有异常, 程序会立即停止执行, 不会执行异常后面的语句原创 2019-11-02 16:06:11 · 160 阅读 · 0 评论 -
面向对像第三节
继承的简介提高了代码的复用性让类与类之间发生关系有了这个关系 才有后面的多态继承是面向对象的三大特性之一可以层层继承issubclass()检查一个类是否是另一个类的子类object是所有类的父类方法的重写如果在子类中有和父类重名的方法.,通过子类的实例去调用方法时,会先在子类里面找,再到父类里面找,若还是没有找到就会报错, 称之为方法重写或者覆盖super()...原创 2019-10-31 13:35:13 · 119 阅读 · 0 评论 -
面向对象第二节
一. 特殊方法特殊方法都是以__开头__结尾 不需要自己调用对象创建流程p1 = Person1.创建了一个变量2.在内存中创建一个变量3.执行类中的代码块中的代码(只执行一次)4.__init__方法执行了__init__会在对象(指p1之类)创建的时候立即调用会像创建的对象初始化属性二. 练习我们要增加数据安全性属性不能随意修改(我让你改才能改)属性不能改为任意的...原创 2019-10-27 14:49:40 · 180 阅读 · 0 评论 -
面向对象第一节
一. 面向对象的简介1, 面向过程将一个功能分解成一个一个的步骤2. 但是这种编程方式往往只适用于一个功能,我们要实现别的功能的时候, 往往需要编写新的代码, 复用性比较低3. 比较符合人的思维, 编写起来比较容易...原创 2019-10-24 19:54:27 · 168 阅读 · 1 评论 -
高阶函数
一.高阶函数的说明有两个条件:1.接受函数作为2.将函数作为返回值上面的箭头那里,是函数的引用,往回看高阶函数的作用是:当我们使用一个函数作为参数时,实际上我们就是将指定的代码传递给目标函数匿名函数 lambda表达式用来创建一些简单的函数,他是函数创建的另一种方式, 最大的好处是只调用一次filter() 可以从序列中过滤出符合条件的元素, 保存到一个新的序列当中参数: ...原创 2019-10-22 14:21:34 · 464 阅读 · 1 评论 -
函数第二节
函数的返回值1.就是函数指定执行以后返回值的结果2.用return来指定函数的返回值,可以直接使用,也可以通过变量保存起来,return后面可以接任意对象,甚至函数...原创 2019-10-19 18:41:34 · 145 阅读 · 0 评论 -
基础第二讲--基本常识
一.1. Python的基本概念具有高效率的数据结构,简单有效实现面向对象编程。Python(1989)比Java(1991)早,但是Java称作一个,因为Python就龟叔一个人开创那些,代码简单但是功能强大,对计算机功能很高,而Java由一个团队开创。2.Python的特点简单易学 自由开放 跨平台 可嵌入性 丰富的库Python可以做什么?1.软件开发2.科学运算3...原创 2019-10-19 16:29:55 · 107 阅读 · 0 评论 -
基础第九讲—集合与函数
一、集合简介 (set)1.与列表基本一致2.与列表不同点:①只能存不可变的对象②无序性(插入的与储存顺序不一致)③不能重复出现(自动省略重复的,只出现第一个)创建集合①使用 {} 空集合不能用这个创建 s = set()是字典② 用 set()函数来创建 (可以把序列与字典转换成集合,但是字典只能打印其键)注:set 没有索引值,若想取元素要先将其转换成列表集合的使...原创 2019-10-18 21:31:18 · 1009 阅读 · 4 评论 -
基础第八讲—元组与字典
一、元组 (tuple)定义:不可变系列,用法与列表差不多,但是不能修改元组的创建bun = ()1.元组与列表用法雷同,但添加、删除元素不行2.不能对元组进行重修赋值3.如果不是空的元组,至少添加一个逗号(10 是整型,但是 10,是元组)4.可以放字符串与数字一起元组的解包指将一个元组的每一个元素都赋值给一个变量,但是变量与元素的个数必须一致,若不一致时 可在元素前...原创 2019-10-18 21:17:17 · 204 阅读 · 0 评论 -
基础第七讲--列表
一、列表简介1.定义:列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。第一个元素的索引是0,第二个索引是1,依此类推。2.创建方式:①lit = []直接创建一个新的列表 ②lit = list() Ctrl+点击鼠标可以查看源码iteroble可迭代的,可以用 for 循环的都是可迭代的pep8 代码规范 pycharm工具有,cod...原创 2019-10-18 21:02:10 · 294 阅读 · 0 评论 -
基础第六讲-条件控制语句练习
练习1原创 2019-10-02 08:56:26 · 135 阅读 · 0 评论