自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 JZ22链表中倒数最后k个节点

双指针法,定义两个快慢指针,先让快指针走k步,然后让两个指针以相同速度向前,直到快指针走到尾部none的位置,此时慢指针正好在倒数第k的位置此方法的时间复杂度为O(n)空间复杂度为O(1)利用数组来存放链表元素,然后直接用数组输出倒数第k个数,此方法的空间复杂度和时间复杂度都为O(n)因为创建了一个数组去存放链表的元素。

2023-10-31 09:31:57 94

原创 Python数据结构(树)

树(英语: tree)是一种抽象数据类型ADT) 或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子头点可以分为多个不相交的子树;

2023-10-25 13:24:44 439

原创 Python数据结构(队列)

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的 (First n First ut)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头,队列不允许在中间部位进行操作!假设队列是q= (a1,a2,…,an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时,总是从a1开始,而插入时,总是在队列最后。这也比较符合我们通常生活中的习惯,排在第一个的优先出列,最后来的当然排在队伍最后。

2023-10-24 15:27:20 149

原创 Python数据结构(栈)

栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语: top)进行加入数据(英语: push)和输出数据(英语: pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行操作,因而按照后进先出 (LIFOLastin First Out)的原理运作。栈可以用顺序表实现,也可以用链表实现。

2023-10-24 11:18:12 96

原创 JZ23链表中环的入口结点

【代码】JZ23链表中环的入口结点。

2023-10-23 11:42:37 54

原创 Python数据结构(链表)

单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据链接域next用来存放下一个节点的位置(python中的标识)变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。

2023-10-22 17:19:07 131

原创 Python数据结构(顺序表)

时间复杂度排序。

2023-10-16 19:18:49 185

原创 Django中的缓存

定义: 缓存是-类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式。一般用来存储临时数据,常用介质的是读取速度很快的内存意义:视图渲染有一定成本,数据库的频繁查询过高;所以对于低频变动的页面可以考虑使用缓存技术,减少实际渲染次数;用户拿到响应的时间成本会更低。

2023-09-27 20:52:39 849

原创 会话cookies和session

从打开浏览器访问一个网站,到关闭浏览器结束此次访问,称之为一次会话HTTP协议是无状态的,导致会话状态难以保持试想一下,如果不保持会话状态,在电商网站购物的场景体验?

2023-09-25 19:07:22 92

原创 关系映射

在关系型数据库中,通常不会把所有数据都放在同一张表中,不易于扩展,常见关系映射有1.一对一映射如:一个身份证对应一个人2.一对多映射如:一个班级可以有多个学生3.多对多映射如: 一个学生可以报多个课程,一个课程可以有多个学生学习。

2023-09-25 16:47:07 96

原创 admin后台管理

1.在应用app中的admin.py中导入注册要管理的模型models类,如:from .models import Book。后台管理器类须继承自 diango.contrib.admin 里的ModelAdmin 类。django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用。django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用。若要自己定义的模型类也能在 /admin 后台管理界中显示和管理。admin.site.register(自定义模型类)

2023-09-25 14:10:16 326

原创 聚合查询和原生数据库操作及SQL注入问题

聚合查询是指对一个数据表中的一个字段的数据进行部分或全部进行统计查询,查bookstore book数据表中的全部书的平均价格,查询所有书的总个数等.都要使用聚合查询聚合查询分为整表聚合分组聚合不带分组的聚合查询是指导将全部数据进行集中统计查询聚合函数[需要导入]:导入方法: from djangodbmodels import *​ 聚合函数: Sum,Avg,Count, Max, Min语法: MyModel.objects.aggregate(结果变量名=聚合函数(‘列’))

2023-09-24 23:17:36 92

原创 F对象和Q对象

当在获取查询结果集 使用复杂的逻辑或、逻辑非~等操作时可以借助于 Q对象进行操作。作用:在条件中用来实现除 and(&)以外的 or()或 not(~)操作。如: 想找出定价低于20元 或 清华大学出版社的全部书,可以写成。通常是对数据库中的字段值在不获取的情况下进行操作。一个F对象代表数据库中某条记录的字段的信息。

2023-09-24 22:29:35 124

原创 ORM基本操作

基本操作包括增删改查操作,即(CRUD操作)CRUD是指在做计算处理时的增加(Create)、读取查询(Read)、更新Update)和删除(Delete)ORM CRUD 核心-> 模型类管理器对象每个继承自 models.Model 的模型类,都会有一个 objects 对象被同样继承下来。这个对象叫管理器对象数据库的增删改查可以通过模型的管理器实现。

2023-09-24 22:28:54 117

原创 ORM基本字段及选项

【代码】ORM基本字段及选项。

2023-09-24 11:05:51 68

原创 模型层及ORM介绍

定义: ORM (Object Relational Mapping)即对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SOL语句操作数据库。配置MySQL,下载MySQLclient。在setting中配置MySQL。负责跟数据库之间进行通信。

2023-09-23 23:39:58 93

原创 ORM模型与表的映射

对象关系映射(Object·Relationship:Mapping),简称 ORM,是一种可以用 Python 面向对象的方式来操作关系型数据库的技术,具有可以映射到数据库表能力的 Python 类我们称之为 ORM 模型。(3)灵活性强: Flask-SQLAchemy 底层支持 SOLite、MySOL、Oracle、PostgreSOL等关系型数据库,但针对不同的数据库,ORM 模型代码几乎一模一样,只需修改少量代码,即可完成底层数据库的更换。

2023-09-23 23:24:31 145

原创 Django应用及分布式路由

Django中,主路由配置文件(urls.py)可以不处理用户具体路由,主路由配置文件的可以做请求的分发(分布式请求处理)。具体的请求可以由各自的应用来进行处理。步骤2- 应用下配置urls.py应用下手动创建uris.py文件内容结构同全路由完全一样。应用下templates 和外层templates 都存在时,django得查找模板规则。应用在Django项目中一个完全独立的业务模块,可以包含自己的路由,视图,模板,模型。作用:用于将当前路由转到各个应用的路由配置文件的 urlpatterns。

2023-09-23 22:15:28 117

原创 静态文件

指定访问静态文件时是需要通过/static/xxx或http://127.0.0.1:8000/static/xxx。1.加载 static -%load static % static静态资源路径。2.使用静态资源-{% static ‘静态资源路径’%}1,配置静态文件的访问路径【该配置默认存在】通过{% static %}标签访问静态文件。静态文件配置 - settings.py中。模板中访问静态文件- img标签为例。[xxx表示具体的静态资源位置]通过哪个url地址找静态文件。

2023-09-23 21:30:26 110

原创 URL反向解析

根据path中的name=关键字传参给url确定了个唯一确定的名字在模板或视图中,可以通过这个名字反向推断出此url信息。url 反向解析是指在视图或模板中,用path定义的名称来动态查找或计算出相应的路由。在视图函数中->可调用 django中的 reverse 方法进行反向解析。模板中- 通过url标签实现地址的反向解析。

2023-09-23 18:51:46 165

原创 模板层-过滤器和继承

模板继承可以使父模板的内容重用,子模板直接继承父模板的全部内容并可以覆盖父模板中相应的块。语法:{{变量 | 过滤器1:‘参数值1’ | 过滤器2:’参数值2‘ …​ block标签: 在父模板中定义,可以在子模板中覆盖。作用:可以通过使用 过滤器来改变变量的输出显示。定义: 在变量输出时对变量的值进行处理。​ 定义父模板中的块 block 标签。​ 标识出哪些在子模块中是允许被修改的。

2023-09-23 17:52:25 75

原创 模板层的变量和标签

作用:将一些服务器端的功能嵌入到模板中,例如流程控制等。{{变量名.index}}{变量名.key}}{{ 对象.方法}}

2023-09-23 15:23:07 48

原创 Django的设计模式及模板层

MVC 代表 Model-View-Controller(模型-视图-控制器)模式。M 模型层(Model),主要用于对数据库层的封装V 视图层(View),用于向用户展示结果 (WHAT + HOW)C 控制(Controller,用于处理请求、获取数据、返回结果(重要)作用: 降低模块间的合度(解(C大概就是主路由)MTV 代表Model-Template-View模式(模型-模板-视图)M 模型层(Model) 负责与数据库交互。

2023-09-23 14:50:34 509

原创 请求和响应

请求是指浏览器端通过HTTP协议发送给服务器端的数据响应是指服务器端接收到请求后做相应的处理后再回复给浏览器端的数据。

2023-09-23 11:44:32 92

原创 路由配置

做一个有计算器功能的网址。

2023-09-23 07:00:00 47

原创 URL和视图函数

视图函数是用于接收一个浏览器请求(HttpRequest对象)并通过HttpResponse对象返回响应的函数。此函数可以接收浏览器请求并根据业务逻辑返回相应的响应内容给浏览器。

2023-09-22 23:38:50 117

原创 Django框架介绍和安装

urls.py:项目的主路由配置- HTTP请求进入Django时,优先调用该文件。wsgi.py:WEB服务网关的配置文件 - Django正式启动时,需要用到。settings.py:项目的配置文件- 包含项目启动时需要的配置。模型层(M)/模板层(T)/视图层(v).py:Python包的初始化文件。Cookie和Seesion。基本配置文件/路由器。

2023-09-22 23:38:10 70

原创 解析-BeautifulSoup

BeautifulSoup基本使用。爬取星巴克菜单网页内容实例。

2023-09-22 23:36:51 79

原创 解析-JsonPath

JsonPath解析淘票票网页城市的json案例。jsonpath的基本使用。

2023-09-22 16:36:58 244

原创 解析-xpath

(6)如果crx文件失效,需要将后缀修改zip。xpath获取百度网站的百度一下四个字。(5)拖拽xpath插件到扩展程序中。(1) 打开chrome浏览器。注意:提前安装xpath插件。(8) 关闭浏览器重新打开。(2) 点击右上角小圆点。爬取站长素材网的风景图片。(10) 出现小黑框。

2023-09-21 14:37:45 114

原创 代理池

由于使用某一个代理IP高频词的访问也会被觉察到,所以可以随机使用代理池中的IP去访问。

2023-09-20 13:45:00 25

原创 代理服务器

【代码】代理服务器。

2023-09-20 09:15:00 124

原创 JZ25合并两个排序的链表

【代码】JZ25合并两个排序的链表。

2023-09-19 22:51:17 29

原创 JZ24反转链表

【代码】JZ24反转链表。

2023-09-19 22:50:45 34

原创 Cookie

个人信息页面是utf-8 但是还报了编码错误,因为并没有进入到个人信息页面,而是跳转到了登录页面,登录页面不是utf-8所以报错。适用的场景:数据采集时需要绕过登录页面进入到某个页面。

2023-09-19 11:15:00 30

原创 JZ52 两个链表的第一个公共结点

因为是两个链表,可以用双指针分别指向两链表的头结点,同时开始遍历,当他们遍历完自己的链表后再去遍历对方的链表,因为两个链表有公共节点,因此他们把自身和对方的路都走一遍,走过的路程肯定是相同的,所以必会在公共节点处相遇,如果没有公共节点,他们也会在最后的none节点处相遇。2 = pHead1 ##重新遍历链表1。

2023-09-19 09:56:52 35

原创 JZ6从尾到头打印链表

【代码】JZ6从尾到头打印链表。

2023-09-19 09:18:05 17

原创 Handler处理器

使用Handler访问百度页面,获取网页源码。

2023-09-19 05:30:00 23

原创 Urllib异常

​ 4.通过urllib发送请求的时候,有可能会发送失败,这个时候如果想让你的代码更健壮,可以通过try-except进行异常捕捉,异常有两类,URLError\HTTPError。​ 3.http错误:http错误是针对浏览器无法连接到服务器而增加出来的错误提示,引导并告诉浏览者该页是哪里出了问题。​ 2.导入的包urllib.error.HTTPError urllib.error.URLError。简介:1.HTTPError类是URLError类的子类。

2023-09-19 00:30:00 32

原创 Ajax

获取豆瓣喜剧电影排行榜第一页的数据获取豆瓣喜剧电影排行榜任何几页的数据由上面前三个网页可以得到网页的规律为代码如下。

2023-09-18 17:30:00 190 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除