
python学习
心_kokoro
暂停更新
展开
-
python遍历日期
python遍历日期代码输出代码import datetime as dtlength = 10begin = dt.date(2020,6,1)delta = dt.timedelta(days=1)d = beginticks = []for _ in range(length): ticks.append(d.strftime("%Y-%m-%d")) d += deltaprint(ticks)输出['2020-06-01', '2020-06-02', '2原创 2021-02-03 23:07:47 · 2918 阅读 · 1 评论 -
详解python列表中冒号的用法
详解python列表中冒号的用法切片赋值a=b型a=b[:]型a[:]=b[:]型写这个专题是因为做Leetcode第88题被两个写法坑了一下nums1 = sorted(nums1[:m]+nums2[:n])nums1[:] = sorted(nums1[:m]+nums2[:n])乍一看没什么区别,但实际上第一行的写法会变动原有num1的物理地址,而第二种不会变动物理地址,只是修改当前地址里的内容。详细请看下文。切片常规操作,看看就行#a[x:y] 左闭右开a = [[1,2,3,4原创 2021-01-30 21:54:11 · 3354 阅读 · 0 评论 -
简单理解python中的生成器
简单理解python中的生成器引言例子引言计算机的内存是有限的,所以像下面这样的代码会占用大量内存x = [i**2 for i in range(100000000)]生成器就是为了解决这个问题而存在的,它不会存放所有的数据,而是要用一个就生成一个例子yield关键字相当于断点+returndef gen(): yield 1 yield 2 yield 3t = gen()print(next(t))print(next(t))print(next(t)原创 2020-12-25 22:14:59 · 144 阅读 · 0 评论 -
简单了解python中的装饰器
简单了解python中的装饰器等价形式例子:计时器等价形式def Test(func): def inside(): func() return insidedef funcA(): print("Just a joke")funcA = Test(funcA)funcA()等价于def Test(func): def inside(): func() return inside@Testdef funcA()原创 2020-12-25 16:56:33 · 130 阅读 · 0 评论 -
python中的元组metaclass
python中的元组metaclass引言简单例子引言尝试理解下面几句话type的父类是objectobject的元类是type实例由类创建,类由type创建我们知道,python中一切皆对象,类(class) 也不例外。类(class) 作为一个对象,它需要有类型(type) ,像 [1,2,3] 这样的对象,其类型为list,而list的类型为type,而type自身的类型即为type,是递归定义的。下面用代码来验证:a = [1,2,3]print(type(a))print(原创 2020-12-25 16:12:23 · 142 阅读 · 1 评论 -
A*:python实现A星寻路算法可视化
A星寻路算法可视化算法流程代码展示算法流程先介绍几个概念名词解释open列表可探索的方块closed列表已探索的方块方块分数FF = G + HG从起点到当前点的距离H自己定义的当前点到终点的距离邻接节点本例中指上下左右4个节点我对H的理解是这样的:H就相当于机器学习里的正则化惩罚,就是一个限制,可以自己确定,比如使用曼哈顿距离或者欧式距离,添加这个的目的是为了使寻路的方向向终点靠拢。(感谢舍友指点)流程:将起点添加到open原创 2020-11-25 13:03:04 · 5476 阅读 · 10 评论 -
python查询本机ip
#TOC代码import socketfrom requests import gethostname = socket.gethostname()local_ip = socket.gethostbyname(hostname)public_ip = get('http://api.ipify.org').textprint(f'Hostname:{hostname}')print(f'Local Ip:{local_ip}')print(f'Public Ip:{public_ip原创 2020-11-16 22:10:39 · 206 阅读 · 0 评论 -
深入了解Python为什么慢(翻译自Why Python is Slow: Looking Under the Hood)
深入了解Python为什么慢(翻译自Why Python is Slow: Looking Under the Hood)原文概括翻译前言正文原因一:python是动态的而不是静态的原因二:Python时解释型的不是编译型的原因三:Python的对象模型导致内存访问效率低下总结深入了解作者的话深入研究Python整数深入研究Python列表深入了解NumPy数组闲话原文Why Python is Slow: Looking Under the Hood概括Python作为动态的解释语言,语法上很强的翻译 2020-11-12 21:29:02 · 437 阅读 · 0 评论 -
python学习笔记(四):回溯法解决数独问题
python学习笔记(四):回溯法解决数独问题数独定义回溯法的一般步骤代码数独定义数独,整个网格又分成9个3×3的小正方形网格,每个格子有一个数字(1~9),数独满足如下要求:(1)每个数字在每一行只出现一次(2)每个数字在每一列只出现一次(3)每个数字在每个3×3的小区域中也只出现一次如下图所示。回溯法的一般步骤while(结束条件未满足){ if(本层可行的解决方案存在): 执行 if(本层为最后一层): 输出结果 return原创 2020-11-09 12:19:57 · 1246 阅读 · 0 评论 -
python学习笔记(三):random随机数
python学习笔记(三):random随机数import randoma = [1,2,3,4]#0-1间的随机浮点数 输出:0.6663918776792366print(random.random())#1-10间的随机整数 输出:9print(random.randint(1,10))#1-10间的随机浮点数 输出:1.2209762639304143print(random.uniform(1,10))#0-10间的随机间隔为3的数 输出:9print(random.randr原创 2020-11-07 15:19:13 · 328 阅读 · 0 评论 -
python学习笔记(二):浅拷贝与深拷贝
python学习笔记(二):浅拷贝与深拷贝概括几个例子直接赋值浅拷贝深拷贝概括举例类型解释b = a:赋值引用a 和 b 都指向同一个对象。b = a.copy()或b=copy.copy(a)浅拷贝,a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。b = copy.deepcopy(a):深度拷贝,a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。几个例子直接赋值代码:a = [1,2,3]b = apri原创 2020-11-07 14:26:05 · 178 阅读 · 0 评论 -
Python学习笔记(一):全局变量与局部变量
Python全局变量与局部变量函数里有重复变量名的三种情况一、重新定义了变量二、未重新定义直接操作三、使用global总结函数里有重复变量名的三种情况你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。一、重新定义了变量代码:a = 100def test(): a = 200 print('Inside: ',a)test()print('Outsi原创 2020-11-06 15:44:41 · 306 阅读 · 3 评论