宏定义实现交换两个数
#define swap(a,b) {a=b-a; b=b-a; a=a+b;}
#define swap(a,b) {a=a^b; b=a^b; a=a^b;}
#define swap(a,b,temp) {temp=a; a=b; b=temp;}
Python装饰器
- 装饰器本质上是一个函数或者一个类, 它接收一个函数作为参数, 然后将这个函数和一些额外功能代码打包成一个新的函数或者类进行返回.
- 可以采用语法糖@将一个装饰器添加到一个函数上
- 类装饰器调用的是__call__函数, 同时需要再__init__函数中将目标函数传入
数据库事务
- 事务就是一组操作, 这组操作要么全部执行成功, 要么全部执行失败
- 使用
start transaction
开启事务,commit
提交事务,rollback
回滚所有事务
四大性质 (ACID)
- 原子性 : 事务中的一系列操作要