按理论应该按想象中的执行,但实际不是这么执行等此类“反常”问题的解决思路

面向“对象”编程 / 2023-09-06 / 原文

解决思路

  1. 使用IDE进行Debug调试,将代码的每一步执行是否按照预期执行;
  2. 找到为按预期执行的那一步,分析代码的判断是否准确,查看相关变量的值是否正确。

附Pycharm Debug快捷键:
F7 进入到代码(详细到每一步,如循环的每一次循环)
F8 按代码小块查看(一般按一行计算、赋值、实例化、执行函数、整个循环等等方式)
F9 跳到下一个断点

发生此问题时躺过的一个坑的经验:

  1. 应避免使用from xxx import *的方式导出类和函数,会导致环境中的变量被污染,从而出现变量混乱;
  2. 注意django drf中request.GET.get(...)获取到的结果必定是字符串格式,而request.data.get(...),如果数据是整数,则会获得一个整数类型。