返回顶部

python避免踩坑

一、全局变量的修改

在web项目代码中,有很多全局变量,有的是使用字符串这样的不可变对象,而有的则是使用字典这样的可变对象。如果在代码里面修改了可变的全局变量(如dict,list),就会导致进程中的这个全局变量都修改了。在web服务中,每次request请求都会生成一个新的线程,这个线程会共用进程中的全局变量,如果其中一个线程修改了这个全局变量,就会导致所有的线程中使用的这个变量都会被修改,最好避免这种情况发生,如果非要修改这个变量并使用的话,就用deepcopy把这个全局变量深度拷贝以后再修改,这样就不会影响其他线程的全局变量了。

2、慎重修改函数传入的参数

你永远不知道你修改的参数,在别的地方会不会引起业务错误,所以不要随便修改传入的参数,切记切记!

posted @ 2019-04-23 21:41  公梓小白  阅读(208)  评论(0编辑  收藏  举报