Python注意事项/技巧

递归层数限制

在正常情况下,Python会对递归层数做限制(大约1000左右),超出限制会收到RuntimeError: maximum recursion depth exceeded,即超过最大递归层数。

解决方法是手动调整递归层数限制,代码如下:

1
2
import sys  
sys.setrecursionlimit(10**5) # 层数,此处设置为1e5

需要注意的是,层数开大的情况下,程序运行效率也会相应下降,建议看着开,够用就行。

内存溢出

在某垃圾Windows上需要谨慎调试代码,求模意义下阶乘千万记得取模……否则极易在运行时喜提蓝屏(开始运行一会儿之后^C都救不了)。

部分STL替代方案

priority_queue -> heapq (1)

priority_queue -> heapq (2)

priority_queue -> heapq (3)

queue, stack, pq -> Queue

运算符重载

Python class 运算符重载 - CSDN

python 类的运算符及重载 - CSDN

Python中类的运算符重载 - cnblogs