01 2025 档案
python中针对实例对象的方法
摘要:以下是包含 hasattr 的 Python 内置函数列表,类似于之前提到的各种方法: 1. getattr() 功能:获取对象的属性值。如果属性不存在,可以返回默认值。 语法:getattr(object, name, default) object: 对象 name: 属性名称(字符串) def
python中针对类本身的方法
摘要:当你提到 __getattribute__ 时,它是 Python 中一个特殊的方法,用于访问对象的属性。重载该方法可以控制访问实例属性的行为。在 Python 中,__getattribute__ 是所有属性访问的基础方法,每次你访问对象的属性时,都会调用它。除了 __class__、__mro_
SQL创建表的语法
摘要:在 SQL 中,创建表的基本语法是使用 CREATE TABLE 语句。通过这个语句,可以定义新表的结构,包括列(字段)名称、数据类型以及其他约束。 基本语法 CREATE TABLE table_name ( column1 datatype [constraint], column2 datat
Flask中的jinji2---过滤器
摘要:在 Jinja2 中,过滤器是用于对模板变量进行操作的工具,类似于管道。以下是 Jinja2 中常用的过滤器及其功能: 1. 字符串处理 capitalize 将字符串的首字母大写,其余部分小写。 {{ "hello world" | capitalize }} <!-- 输出: Hello wor
python中的堆
摘要:在Python中,堆(Heap)是一种特殊的完全二叉树结构,满足以下特性: 最大堆(Max Heap):父节点的值大于或等于子节点的值。 最小堆(Min Heap):父节点的值小于或等于子节点的值。 Python标准库 heapq 提供了一个 最小堆 的实现,虽然没有直接提供最大堆的实现,但是可以通
关于递归
摘要:递归是一个非常重要且常用的编程思想,尤其在树、图、动态规划等问题中非常有用。它的核心是:将问题分解为子问题,通过递归的方式解决更小的子问题,最终汇聚成整体的解答。 如果你对递归函数感到陌生,或者不确定如何编写一个递归函数,可以通过以下步骤逐步建立递归的理解和技巧。 递归的基本结构 递归函数通常有两个
python中的列表
摘要:在刷算法题时,Python 的列表(list)是非常常用的数据结构。列表的操作灵活且功能丰富,非常适合用来处理数组、队列、堆栈等问题。以下总结了常用的列表语法和在算法题中会用到的场景: 1. 列表的创建 直接创建 lst = [1, 2, 3, 4] 列表推导式 squares = [x ** 2
python中的队列
摘要:在 Python 中,队列(Queue)通常使用 collections.deque 来实现,因其提供了高效的从两端添加和删除元素的操作。队列通常遵循 先进先出(FIFO) 的原则,也就是最先插入的元素最先被移除。 队列的基本操作: append(x): 将元素 x 加入队列的尾部。 popleft
排序算法模板--python版
摘要:在刷算法题时,排序是一个非常常见的操作。Python 提供了多种排序算法的实现方式,而在一些经典的算法题中,我们需要手动实现不同的排序算法以符合题目要求。以下是一些常见的排序算法模板,包含了 冒泡排序、选择排序、插入排序、快速排序、归并排序 和 堆排序,这些算法的模板通常会在刷题中频繁用到。 1.
python中的图
摘要:在 Python 中,图(Graph)是一个非常重要的数据结构,特别是在刷算法题时。图有许多类型(如有向图、无向图、有权图、无权图等),并且涉及的算法(如深度优先搜索、广度优先搜索、最短路径等)都非常常见。以下是 Python 中常见的图的语法,尤其是刷算法题时用到的技巧。 1. 图的基本定义 图通
python中的二叉树
摘要:在刷算法题中,二叉树是常见的题型,掌握二叉树的基本语法和常见操作是非常重要的。以下是一些在Python中常用的二叉树语法及操作,特别是刷算法题时用到的。 1. 二叉树的定义: 首先定义二叉树的节点结构。每个节点通常有三个属性:val(节点的值),left(左子节点),right(右子节点)。 # D
python中的队列
摘要:在 Python 中,队列(Queue)是一种常见的数据结构,特别是在刷算法题时经常被用到。以下是队列相关的基础语法及其在算法题中的应用总结。 1. 队列的基本定义 队列遵循 FIFO(先进先出) 原则,可以通过以下方式实现: 1) collections.deque deque 是双端队列,支持快
python中的链表
摘要:在 Python 中,链表不是内置的数据结构,但可以通过类的方式实现自定义链表。以下是链表在刷算法题中常用的语法和操作方法。 1. 定义链表节点 链表节点是一个包含值和指向下一个节点的指针的结构: class ListNode: def __init__(self, val=0, next=None
python中的栈
摘要:在 Python 中,栈是一种数据结构,常用于需要遵循 后进先出(LIFO) 原则的操作。在刷算法题时,栈常用来解决括号匹配、单调栈、深度优先搜索等问题。 以下是 Python 中栈的相关语法和常用操作。 栈的实现方式 Python 中可以使用以下两种方式实现栈: 使用列表 (list)。 使用 c
python中的优先队列
摘要:在 Python 中,优先队列(Priority Queue)是一个可以随时获取队列中最大(或最小)元素的数据结构。Python 的标准库 heapq 提供了一个实现最小堆的优先队列,默认情况下是最小堆,但可以通过一些技巧来实现最大堆。优先队列在算法中常用于求解最短路径、合并有序链表、求解 k 个最
python中的序列结构《增删改查》的复杂度
摘要:在 Python 中,不同的序列数据结构(如 list、tuple、set、dict 等)对增、删、改、查操作的时间复杂度不同。下面是对常见数据结构的总结,按操作类型(增、删、改、查)分析它们的时间复杂度: 1. list(列表) 查找操作(如 in 或 index()): 时间复杂度:O(n) 原