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