05 2023 档案

摘要:前面介绍了栈、队列等线性数据结构,树也是一种常见的数据结构 涉及概念:根节点、子节点、兄弟节点 1、二叉树(树形结构中一种重要类型):每个节点,最多只能有2棵子树 其有五种基本形态: 1、空树 2、只有一个根节点 3、只有左子树 4、只有右子树 5、完全二叉树 2、平衡二叉树 对于每一个节点来说,他 阅读全文

posted @ 2023-05-30 16:31 默玖 阅读(14) 评论(0) 推荐(0) 编辑

双端队列
摘要:栈和队列的一种结合 阅读全文

posted @ 2023-05-29 14:52 默玖 阅读(4) 评论(0) 推荐(0) 编辑

队列
摘要:添加操作发生在“尾部”, 移除操作则发生在“头部”:只允许在一端插入,在另一端删除 1、最新添加的元素必须在队列的尾部等待,在队列中时间最长的元素则排在最前面,排序原则:FIFO(先进先出) 2、python实现队列 一样,可以用列表来实现,只不过需要确定列表的哪一端作为头部和尾部 列表的头部作为队 阅读全文

posted @ 2023-05-25 18:14 默玖 阅读(9) 评论(0) 推荐(0) 编辑

摘要:在实现栈之前,先了解下线性数据结构 一般而言,有序的数据集合,其元素的顺序取决于添加和移除顺序,一旦某个元素被添加进来,与其左右元素相对位置保持不变,这样的数据集合,被称为线性数据结构 添加、移除操作总是发生在同一端——顶端,另一端则是底端 1、最新添加的元素最先被移除-排序原则:LIFO(后进先出 阅读全文

posted @ 2023-05-25 16:38 默玖 阅读(17) 评论(0) 推荐(0) 编辑

让属性具备惰性求值的能力
摘要:对某个属性进行访问的时候,不需要经过反复的计算再返回 对属性的首次访问,将其值缓存起来,在其后的访问中,直接从缓存中取值,主要用来提高程序的性能 """ 属性惰性求值 这里介入描述符就可以实现 """ class LazyProperty: def __init__(self, func): sel 阅读全文

posted @ 2023-05-22 10:42 默玖 阅读(25) 评论(0) 推荐(0) 编辑

元类强制编码规范
摘要:元类一般作为顶层框架使用 在顶层控制底层派生类方法的命名规范 class Meta(type): def __new__(cls, clsname, bases, clsdict): for name in clsdict: if name.lower() != name: raise TypeEr 阅读全文

posted @ 2023-05-16 11:29 默玖 阅读(6) 评论(0) 推荐(0) 编辑

装饰器扩展类功能
摘要:对类中属性访问,并修改他的行为 可以直接使用类装饰器 """ 类装饰器扩展 类功能 """ def log_getattribute(cls): old_getattribute = cls.__getattribute__ def new_getattribute(self, name): pri 阅读全文

posted @ 2023-05-15 17:06 默玖 阅读(32) 评论(0) 推荐(0) 编辑

装饰器的多种实现方式(二)
摘要:基于类实现装饰器变体 在之前的文章里有提过基于类实现的装饰器,这里做一下延申 import types from functools import wraps class Decorator: def __init__(self, func): wraps(func)(self) self.call 阅读全文

posted @ 2023-05-15 15:29 默玖 阅读(15) 评论(0) 推荐(0) 编辑

事务并发引发的问题
摘要:mysql默认的事务隔离级别是:可重复读 1、脏读(针对未提交的数据) 一个事务在更新一条记录,未提交前,第二个事务读到了第一个事务更新后的记录,那么第二个事务就读到了脏数据,会产生对第一个未提交数据的依赖。一旦第一个事务回滚,那么第二个事务读到的数据,将是错误的脏数据 2、幻读(读取结果集条数的对 阅读全文

posted @ 2023-05-12 15:38 默玖 阅读(23) 评论(0) 推荐(0) 编辑

事务四大特性
摘要:ACID :如果一个数据库支持事务的操作,那么该数据库必须要具备以下四个特性 1、原子性(Atomicity) 事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响 2、一致性(Consistency) 事务必须使数据 阅读全文

posted @ 2023-05-12 14:47 默玖 阅读(57) 评论(0) 推荐(0) 编辑

fastapi篇(七)
摘要:SQLAlchemy orm框架,操作数据库的框架,把数据库实体高度封装成了python对象;有了它,也就意味着我们可以在不熟悉sql语句的同时,对数据库执行操作 在视图函数中,主要涉及和数据库的交互,最基本的就是crud 1、创建数据库引擎函数 from sqlalchemy import cre 阅读全文

posted @ 2023-05-10 18:14 默玖 阅读(55) 评论(0) 推荐(0) 编辑

fastapi篇(六)
摘要:关于请求体参数、路径参数、请求参数的声明 函数参数按照如下的顺序进行识别匹配: (1)、如果这个参数已经在路径中被声明过,那么它就是一个路径参数。 (2)、如果这个参数的类型是单类型的(如str、float、int、bool等),那么它就是一个请求参数。 (3)、如果这个参数的类型是Pydantic 阅读全文

posted @ 2023-05-09 20:00 默玖 阅读(21) 评论(0) 推荐(0) 编辑

fastapi篇(五)
摘要:get请求的请求参数 1、如果函数里的参数不是路径参数的一部分,那么这样的参数就自动被解释为请求参数。 2、请求参数就是URL中问号('?')后面以'&'间隔开的键值对,它们是URL的一部分,并且参数类型都是字符串类型。 @app.get("/str") def get_str(item: str 阅读全文

posted @ 2023-05-09 18:54 默玖 阅读(25) 评论(0) 推荐(0) 编辑

fastapi篇(四)
摘要:路径参数声明 借助类型注解。fastapi会自动对request前端请求参数实现自动转换 @app.get("/str/{item}") def get_str(item: str): print(item, type(item)) return "只有永不遏止的奋斗,才能使青春之花,即便是凋谢,也 阅读全文

posted @ 2023-05-09 16:55 默玖 阅读(11) 评论(0) 推荐(0) 编辑

fastapi篇(三)
摘要:pydantic 在之前python进阶主题文章中,针对这个三方模块有过简单的介绍,主要用于数据校验,在fastapi中,正式发挥了他这一长处 from pydantic import BaseModel, ValidationError class CreateRequest(BaseModel) 阅读全文

posted @ 2023-05-09 16:00 默玖 阅读(23) 评论(0) 推荐(0) 编辑

fastapi篇(二)
摘要:尝试创建一个新的web服务 1、接口展示 import uvicorn from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() app.mount('/static', Stati 阅读全文

posted @ 2023-05-09 14:27 默玖 阅读(59) 评论(0) 推荐(0) 编辑

flask篇(一)
摘要:开山...... 阅读全文

posted @ 2023-05-09 00:00 默玖 阅读(12) 评论(0) 推荐(0) 编辑

fastapi篇(一)
摘要:fastapi是一个高性能的web开发框架 性能极高,可与 NodeJS, Go 媲美。(得益于Starlette和Pydantic)。 Starlette 是一个轻量级 ASGI 框架/工具包。它非常适合用来构建高性能的 asyncio 服务,并支持 HTTP 和 WebSockets。 官方网址 阅读全文

posted @ 2023-05-08 23:59 默玖 阅读(92) 评论(0) 推荐(0) 编辑

摘要:1、web后端开发也是python的一大方向,之前在某站也跟着学过一点flask,恰巧最近在找工作,也在想着要不就往这个方向发展发展 python主流的web开发框架:Django、Flask、FastApi 1.1、Django脚手架比较完备,使用 MTV 模式(Model-Template-Vi 阅读全文

posted @ 2023-05-08 10:46 默玖 阅读(18) 评论(0) 推荐(0) 编辑

py与mysql交互
摘要:前天参加了一个做网络安全的公司面试 1、安装pymsql 2、连接数据库 db=pymysql.connect(host='localhost',port=3306,user='root',password='test123456',database='python',charset='utf8') 阅读全文

posted @ 2023-05-06 14:57 默玖 阅读(11) 评论(0) 推荐(0) 编辑

工匠回忆(三)
摘要:接上文 7、函数 7.1、长度 7.2、圈复杂度 7.3、函数内代码确保处在同一抽象层内,主流程清晰,不存在穿插的分支 7.4、有状态的函数 7.4.1、全局变量 7.4.2、闭包函数 7.4.3、类 比较偏向于后两者 8、装饰器 装饰器和装饰器模式是两个完全不同的概念 1、三方模块wrapt的引入 阅读全文

posted @ 2023-05-04 14:07 默玖 阅读(19) 评论(0) 推荐(0) 编辑

工匠回忆(二)
摘要:接上文 4、条件分支控制流 避免分支嵌套,异常放在代码片段最前面 4.1、归约函数 4.2、条件表达式的封装避免过长而导致可读性下降 4.3、德摩根定律 4.4、and、or优先级 4.5、or短路效应 4.6、消失的分支 4.6.1、二分查找算法 4.6.2、字典算法 5、异常错误处理 无需多言 阅读全文

posted @ 2023-05-04 13:43 默玖 阅读(23) 评论(0) 推荐(0) 编辑

工匠回忆(一)
摘要:不久之前看过《python工匠》,腾讯大佬朱磊写的,后来一段时间零零散散也会翻开看看,强烈推荐!!! 1、变量注释 变量与注释是最接近自然语言的东西,把变量与注释搞好,同样一段代码,却带来两种截然不同的体验 1.1、变量开辟的必要性 1.2、变量注意靠近使用 1.3、注意变量描述性要强、同时注意其长 阅读全文

posted @ 2023-05-01 16:00 默玖 阅读(41) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示