Python教程 第28章:递归函数——函数调用自己
一、什么是递归递归就是"函数自己调用自己"。这个定义听起来像绕口令,但它其实是人类描述层层嵌套、规模不断缩小的问题时最自然的说法——比如"俄罗斯套娃",打开一层还有一个一样的、只是小一点,直到最小的那个打不开为止。
5 行 for 循环,1 行推导式就搞定,还更快
5 行 for 循环,1 行推导式就搞定,还更快一、先看一个对比如果你刚学完 Python 的 for 循环,写出下面这段代码再正常不过:squares = []for x in range(10): squares.
Day 13 · 高级汇编(二)调用约定、栈帧与保护机制深入
Day 13 · 高级汇编(二)调用约定、栈帧与保护机制深入学习目标:深入理解 stdcall/cdecl/fastcall 等调用约定;掌握栈帧布局(EBP、参数、局部变量、返回地址)与栈参数传递;掌握 ENTER/LEAVE/LOCAL 与 INVOKE/PROC/PROTO
CN-Language中文编程语言:第42篇-守卫页
每个程序运行时都有一条「走廊」,叫调用栈:函数每嵌套一层,走廊就往前延伸一段,函数返回就把那段拆掉。走廊的总长度有限——通常是 8MB。一个递归函数如果停不下来,走廊尽头是什么?
Python能写SIP协议栈吗?我把GB28181跑通了
“Python能写SIP协议栈吗?”这个问题我被问了不下十次。每次我的回答都是:不仅能写,而且写得挺好。PyGBSentry,一个纯Python实现的GB/T 28181-2022国标视频管理平台,已经在GitHub和Gitee上开源了一段时间。
Python 3.15正式发布:JIT提速8%,默认UTF-8
Python 开发团队正式发布了 3.15 稳定版。距离 3.14 才过去一年,这次升级却一点不敷衍——性能、语法、工具链全都有硬货。JIT 编译器真的快了实验性 JIT 编译器这次争了口气。
零壹教育:Python为什么不推荐递归?栈溢出问题的替代改写思路
不少初学编程的朋友,接触算法的时候最先学会的就是递归。函数调用自身,把复杂大问题拆解成规模更小的子问题,代码写出来简洁优雅,逻辑阅读起来十分直观。但是很多资深开发者会建议,在Python当中尽量少使用递归,这背后是什么原因?
Python3.15发布!启动快15倍,3.10退役
1012 位贡献者、5643 次提交,Python 3.15.0 在 10 月 9 日落地。这一次它没有去堆华丽的新语法,而是精准地捅向了两个所有 Python 开发者都疼过的地方:启动太慢,和编码踩坑。与此同时,服役五年的 3.10 正式退役——生态的地板被整体抬高了一格。
不用装py-spy了标准库自带火焰图
线上接口变慢,你SSH上去,第一反应往往是pip install py-spy。这个动作在Python3.15之后可以省掉了:官方把统计采样分析器直接塞进了标准库,顺便还把用了二十年的cProfile挪了个位置。
Python3.16首测版藏了三个狠招
10月9日Python3.15.0刚落地,10月13日3.16.0a1就跟着发了。很多人看到alpha就划过去,觉得那是核心开发者关起门来的事。但这次不太一样:它动的是三个你每天都在用、却从来没得选的底层接口——迭代器怎么结束、内存怎么看待矩阵、栈帧能不能被弱引用。