PyCharm 2025.3 Help

内联

通过 内联 重构,您可以撤销针对方法或变量的提取重构。

  1. 将插入符号置于您要内联的代码片段上。

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

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

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

  5. 预览并应用更改。

    目前, CLion 提供 内联函数 重构,它与 提取方法 重构相反。

    内联变量

    内联变量 重构会将冗余的变量用法替换为其初始化器。

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

    之前

    之后

    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 不支持对以下类别的方法和函数执行内联重构:

    • 用作装饰器的函数

    • 用作引用的函数

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

    • 生成器

    • 异步函数

    • 构造函数调用

    • 内置函数

    • 带有装饰器的函数

    • 递归函数

    • 带有 * 参数的函数

    • 被重写的函数

    • 带有全局变量的函数

    • 带有 nonlocal 变量的函数

    • 包含其他函数声明的函数

    • 会中断控制流的函数

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

    不支持对此类方法进行内联重构
    最后修改日期: 2025年 12月 2日