代码调试
代码调试是一个过程,它可以帮助您了解错误的原因,方法是为代码提供输入并遍历代码的每一行,并查看它最终如何评估。 Python语言包含一些调试工具,可以从代码中获取见解,从简单的打印函数开始,断言命令直到对代码进行完整的单元测试。 PyCharm提供了一种简单的方法来调试代码并查看评估值。
要调试PyCharm中的代码(例如,带有if子句的嵌套for循环),需要在希望PyCharm停止程序执行的行上设置断点。 当PyCharm命中这一行时,它将暂停程序并转储内存以查看每个变量的内容:
请注意,在第一次迭代时,除了它之外,还会打印每个变量的值:
此外,您可以右键单击断点并为任何变量添加特定条件。 如果将变量计算为特定值,则将打印日志消息:
代码重构
重构代码是在代码中更改特定变量名称的结构的过程。 例如,您可以为变量选择一个名称,并将其用于包含多个源文件的项目,然后决定将变量重命名为更具描述性的变量。 PyCharm提供了许多重构技术,以确保可以在不中断操作的情况下更新代码。
PyCharm执行以下操作:
- 重构本身
- 扫描项目中的每个文件,并确保更新对变量的引用
- 如果某些内容无法自动更新,它会向您发出警告并打开菜单,以便您可以决定要做什么
在重构代码之前保存代码,以便稍后恢复
我们来看一个例子。 假设我们的项目中有三个Python文件,名为refactor_1.py,refactor_2.py和refactor_3.py。 第一个文件包含important_funtion(x),它也在refactor_2.py和refactor_3.py中使用。
Copy the following code in a refactor_1.py file:
def important_function(x): print(x)
Copy the following code in a refactor_2.py file:
from refactor_1 import important_function important_function(2)
Copy the following code in a refactor_3.py file:
from refactor_1 import important_function important_function(10)
要执行重构,您需要右键单击方法本身,选择Refactor | 重命名,然后输入方法的新名称:
请注意,IDE底部会打开一个窗口,其中列出了此函数的所有引用,每个函数的当前值以及重构后将受影响的文件:
如果选择Do Refactor,将使用新名称更新所有引用,并且不会破坏您的代码。