
Python笔记
文章平均质量分 69
十年尚可
仰望星空脚踏实地
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python的小知识集合
知识点一、类1.Python的__init__和__new__区别?一、类1.Python的__init__和__new__区别?两者都是魔术方法,都是在特定的时候自动调用。__init__初始化方法:触发时机:实例化对象之后触发(实例化一个对象的时候有两个步骤:首先是造一个对象出来,然后再给这个对象初始化一下东西,这个init方法就是在初始化一些属性的时候触发的)。作用:为对象添加对象的所属成员。参数:一个self接受当前对象,其他的参数根据实例化的传参决定。返回值:没有原创 2021-10-20 21:28:49 · 169 阅读 · 0 评论 -
深拷贝浅拷贝Python版笔记
安利一个神仙网站Pythontutor,左边实时编辑,右边能够实时看见自己所编写的变量的物理位置的关系,将深拷贝浅拷贝直接可视化。一、浅拷贝废话不多说直接上图:b2变量就是对于a变量的一个浅拷贝,如果我们尝试改变b2变量后面的值,a,b1变量里面的值也会随之变化。可变元素可以有copy()方法进行浅拷贝,字典也有,集合也有。所以浅拷贝只是对于对象的第一层的复制。二、深拷贝深拷贝需要用一个第三方包...原创 2021-10-15 21:11:54 · 164 阅读 · 0 评论 -
输出1-10000之间的质数python
一、法一:一个合数的所有因数最大的不会超过这个数的开方ab=nab=nab=na<=sqrt(n)a<=sqrt(n)a<=sqrt(n)b<=sqrt(n)b<=sqrt(n)b<=sqrt(n)# # 1-10000里面的质数import mathres = [2] # 保存结果n = 10000for i in range(3,n,2): # 2个步进,因为除了2所有的偶数都不会是素数 flag = 1 for j in range(原创 2021-09-21 16:55:23 · 3749 阅读 · 0 评论 -
从左上角到右下角的路径,到底用深搜还是动规??
在力扣划水的时候看到一道这样的题目:62. 不同路径用动态规划的思想进行求解:我们用 dp[i][j]dp[i][j]dp[i][j]表示从左上角走到 (i,j)(i, j)(i,j) 的路径数量,其中 iii 和 jjj 的范围分别是 [0,m)[0, m)[0,m) 和[0,n)[0, n)[0,n)。由于我们每一步只能从向下或者向右移动一步,因此要想走到 (i,j)(i, j)(i,j),如果向下走一步,那么会从 (i−1,j),(i−1,j)(i-1, j),(i−1,j)(i−1,j),原创 2021-09-20 21:43:07 · 954 阅读 · 0 评论 -
LeetCode39 组合总和Python
组合总和给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。对于给定的输入,保证和为 target 的唯一组合数少于 150 个。示例 1:输入: candidates = [2,3,6,7], target = 7输出: [[7],[2,2,3]]示例 2:输入: cand.原创 2021-09-16 20:06:01 · 376 阅读 · 3 评论 -
python装饰器举例详解一看就会
写在前面:此文为视频笔记,视频传送门,感谢B站up主“正月点灯笼”。一、正常写一段函数import time# is_prime函数是判断一个数是不是质数def is_prime(num): if num < 2: return False elif num == 2: return True else: for i in range(2,num): if num%i == 0:翻译 2021-08-31 16:23:31 · 368 阅读 · 0 评论 -
python3关键字global与nonlocal之间的区别
前言博主半路出家的python选手,此前没有用过nonlocal关键字,在LeetCode划水的时候遇到一道题目,538.把二叉搜索树转换为累加树,题目内容放在下面:给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右子树也必须是二叉搜索原创 2021-08-02 00:08:05 · 361 阅读 · 1 评论 -
Python装饰器从入门到上手
总会在代码里面看见装饰器,一直不知道装饰器是什么。于是整理了菜鸟教程网站的一篇文章+自己的理解,方便自己复习,原文链接放在这里了。原文传送门写在前面装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。 首先,让我们讨论下如何写你自己的装饰器。这可能是最难掌握的概念之一。我们会每次只讨论一转载 2021-06-17 18:29:52 · 144 阅读 · 0 评论 -
Python求一组数字的最大公约数和最小公倍数
一、先来看求最大公约数1)、利用gcd函数math库里面有个gcd函数能直接求出两个数字的最大公约数,遇到求一组数字的最大公约数的时候,加一个循环就好,如下:import mathdef gcd_many(s): g = 0 for i in range(len(s)): if i == 0: g = s[i] else: g=math.gcd(g,s[i]) return gs = lis原创 2020-05-10 10:40:41 · 11699 阅读 · 0 评论 -
Python写简单的整数快速幂和矩阵快速幂
经常会遇到求幂,按照常规操作,就会超时,现在写两个简单的整数快速幂和矩阵快速幂供自己以后参考。整数快速幂:def quickPow(a,n): res = 1 while(n): if n%2 != 0: res *= a a *= a #翻倍 n >>= 1 ...原创 2020-03-28 19:59:57 · 3073 阅读 · 0 评论 -
Python快速求组合数C(n,m)三种方法整理
百度百科对于组合数的定义是:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。由于经常遇到一些组合数问题,所以整理一下常见的快速求组合数的方法,附上Python的实现代码。一、m,n不是特别大的时候:(nm)=n!m!∗(n−m)!\binom {n}...原创 2020-03-28 13:45:16 · 68080 阅读 · 14 评论 -
python里面的sort与sorted比较
sorted 与sort区别:1、适用对象:sort是list的方法,而sorted是可以对所有的可迭代对象进行排序(比如列表,元组,字典,字符串等)2、返回值:sort是在原来的列表上进行排序,没有返回值;sorted是产生一个新的排好序的list,有返回值;3、语法上:sorted(iterable, key=None, reverse=False)reverse=False是...原创 2020-01-30 21:27:45 · 261 阅读 · 0 评论