PyCharm 2025.2 Help

提取方法

提取方法 重构允许您将可以分组的代码片段移动到一个单独的方法中,并用方法调用替换旧代码。

当您提取方法时,您需要检查变量。 如果有一个输出变量,它将作为提取方法的返回值。 如果存在多个输出变量,则可能无法应用 Extract Method重构,并会出现错误消息。

在这种情况下,有几种解决方法可以让 Extract Method工作。 例如,您可以引入一个包含所有输出值的特殊 data-class。

提取方法

  1. 在编辑器中,选择要转换为方法或函数的代码块。

  2. 在主菜单中选择 重构 | 提取/引入 | 方法 或按下 Ctrl+Alt+M。 或者,从上下文菜单中选择 重构 | 提取方法

  3. 在打开的 提取方法 对话框中,指定新函数的名称。

  4. 参数 区域中,执行以下操作:

    • 通过选中或清除相应的复选框,指定要作为方法参数传递的变量。

    • 通过双击相应的参数行并输入新名称,重命名所需的参数。

  5. 签名预览 窗格中检查结果,然后点击 确定 创建所需的函数。

    选定的代码片段将被函数调用替换。

示例

提取方法

之前

之后

from enum import Enum class Category(Enum): A = 1 B = 2 C = 3 def calculate_tax(category, income): if category == Category.A: discount = 10 elif category == Category.B: discount = 5 else: discount = 0 return income * (100 - discount) / 100
from enum import Enum class Category(Enum): A = 1 B = 2 C = 3 def calculate_tax(category, income): discount = calc_discount(category) return income * (100 - discount) / 100 def calc_discount(category): if category == Category.A: discount = 10 elif category == Category.B: discount = 5 else: discount = 0 return discount

处理重复代码

如果遇到 重复的代码片段 ,PyCharm 会建议用对提取方法的调用替换它们。

最后修改日期: 2025年 9月 26日