PyCharm 2026.2 Help

内联

内联重构可让您撤销针对函数或变量的提取重构。

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

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

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

  4. (可选)选择 预览 以预览更改。

  5. 预览并应用更改。

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

    内联变量

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

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

    之前

    重构后

    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 变量的函数

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

    • 会中断控制流的函数

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

    2026年 7月 14日