提取方法
通过 提取方法 重构,您可以将可分组的代码片段移入独立的方法,并用对该方法的调用替换旧代码。
在提取方法时,您需要检查变量。 如果只有一个输出变量,则将其用作提取的方法的返回值。 如果存在多个输出变量,可能无法应用 提取方法 重构,并会出现错误消息。
在这种情况下,有几种变通方法可使 提取方法 生效。 例如,您可以引入一个包含所有输出值的特殊数据类。
提取方法
在编辑器中,选择要转换为方法或函数的代码块。
在主菜单中,选择 或按 Ctrl+Alt+M。 或者,在上下文菜单中选择 。
在打开的 提取方法 对话框中,指定新函数的名称。
在 参数 区域中,执行以下操作:
通过选中或清除相应的复选框,指定作为方法参数传递的变量。
双击相应的参数行并输入新名称,以重命名所需的参数。
在 签名预览 窗格中检查结果,然后点击 确定 以创建所需的函数。
所选代码片段将被替换为函数调用。
示例

之前 | 之后 |
|---|---|
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年 12月 2日