PyCharm 2025.2 Help

内联

内联重构允许您撤销对方法或变量的提取重构。

  1. 将文本光标放在您要内联的代码片段处。

  2. 按下 Ctrl+Alt+N。 或者,右键点击代码片段,并从 重构 菜单中选择您需要的内联重构。

  3. 内联 对话框中,指定内联选项。

    内联对话框
  4. (可选)选择 预览 以预览更改。

  5. 预览并应用更改。

    内联此变量

    内联变量重构用其初始化器替换冗余变量的使用。

    变量必须在声明时初始化。 如果初始值在代码的某处被修改,只有在修改之前的出现将被内联。

    之前

    之后

    import math class Solver: def demo(self): a = 3 b = 25 c = 46 # This variable will be inlined return_type_of_sqrt = math.sqrt(b ** 2 - 4 * a * c) root1 = (-b + return_type_of_sqrt) / (2 * a) root2 = (-b - return_type_of_sqrt) / (2 * a) print(root1, root2) Solver().demo()
    import math class Solver: def demo(self): a = 3 b = 25 c = 46 # This variable will be inlined root1 = (-b + math.sqrt(b ** 2 - 4 * a * c)) / (2 * a) root2 = (-b - math.sqrt(b ** 2 - 4 * a * c)) / (2 * a) print(root1, root2) Solver().demo()

    内联方法或函数

    内联方法的结果是将方法的主体放入其调用者的主体中。 当您为方法或函数启动内联重构时,PyCharm会提示您选择在重构后是移除方法声明还是保留它。 根据您的选择,重构结果会有所不同。

    之前

    之后

    def say_state(self): print_state(self) def print_state(self): print("I'm going {} kph!".format(self.speed))
    def say_state(self): print("I'm going {} kph!".format(self.speed))

    之前

    之后

    def say_state(self): print_state(self) def print_state(self): print("I'm going {} kph!".format(self.speed))
    def say_state(self): print("I'm going {} kph!".format(self.speed)) def print_state(self): print("I'm going {} kph!".format(self.speed))

    当PyCharm发现多个需要内联的方法或函数的出现时,它会启用重构预览。 点击 预览 按钮,在 内联重构 对话框中评估出现情况。

    内联方法重构的回顾

    点击 执行重构 按钮完成内联。

    要内联特定的调用,请将插入符号放在其上,按下 Ctrl+Alt+N ,并在 内联重构 对话框中选择 仅使用此调用并保留声明 选项。

    重构限制

    PyCharm不支持以下类别的方法和函数的内联重构:

    • 用作装饰器的函数

    • 用作引用的函数

    • 使用任何参数解包的函数

    • 生成器

    • 异步函数

    • 构造函数调用

    • 内置函数

    • 带有装饰器的函数

    • 递归函数

    • 带有 * 参数的函数

    • 被重写的函数

    • 带有全局变量的函数

    • 带有非局部变量的函数

    • 带有另一个函数声明的函数

    • 中断控制流的函数

    当您尝试对这些函数或方法中的任何一个执行重构时,将显示警告消息:

    不支持对该类别方法的内联重构
    最后修改日期: 2025年 9月 26日