PyCharm 2025.3 Help

Python 代码洞察

代码洞察 是用于指代 自动补全意图操作 、类型推断以及与 PyCharm 中代码分析相关的其他技术的统称。

语法高亮

PyCharm 编辑器会高亮显示关键字、注释、参数、类型提示以及其他元素。

代码高亮
class Car: """This class represents a car object.""" def __init__(self, speed=0): self.speed = speed self.odometer = 0 self.time = 0 # self.passengers = ['Lena', 'Benjamin', 'Tom'] def say_state(self): """Prints the current speed in kilometers per hour.""" print("I'm going {} kph!".format(self.speed))

具体的高亮颜色在设置对话框的 编辑器 | 配色方案 页面中定义。

随着新版 Python 的发布,PyCharm 支持更具体的类型和语言结构,例如 Python 3.10 特有的 模式匹配

模式匹配
from dataclasses import dataclass @dataclass class Point: x: int y: int def where_is(point): match point: case Point(x=0, y=0): print("Origin") case Point(x=0, y=y): print(f"Y={y}") case Point(x=x, y=0): print(f"X={x}") case Point(): print("Somewhere else") case _: print("Not a point")

代码补全

PyCharm 支持 代码补全

代码补全

由于 PyCharm 在每次启动时都会为整个项目建立索引,因此无论实体定义在何处,您都可以对任何现有实体进行自动补全。

意图操作

PyCharm 可以发现并高亮各种问题,定位死代码、可能的缺陷、拼写问题,提示一些 Python 特定的改进,并对齐代码结构。

一旦 IDE 发现改进您代码的方法,它会在编辑器中当前行旁显示一个黄色灯泡图标 黄色灯泡图标。 您也可以按 Alt+Enter 打开上下文操作菜单。

例如,您可以反转带条件的 if 语句。

反转 if 语句
def foo(): return True if foo(): print("This is true") else: print("This is false")

有关详细信息,请参阅 意图操作

PyCharm 允许您导航到某个具名代码引用首次声明的位置。 将插入符号置于编辑器中的该符号处,然后按 Ctrl+B。 或者使用 Ctrl+Click

查看声明

有关详细信息,请参阅 转到声明及其类型 部分;要了解其他类型的导航,请参阅完整的 源代码导航 部分。

显示表达式类型

在分析代码时,您经常需要确定某个特定表达式的类型。 请考虑以下代码:

def f(x: str): print(chr(x.index('o')) * 42 + 'xxx')

按下 Ctrl+Shift+P ,并从列表中选择目标表达式。

选择表达式

表达式类型将显示在工具提示中。

预览表达式类型

要预览所选表达式的定义,请按 Ctrl ,并将鼠标悬停在该表达式上。

预览类型定义

您也可以使用 查找操作 Ctrl+Shift+A ,然后开始键入 Expression

检查正则表达式

如果您的代码包含正则表达式,您可以使用一个 意图操作 对其进行检查:将插入符号置于该正则表达式处并按 Alt+Enter。 将显示 RegExp 检查器,您可以在其中输入字符串并检查它是否与正则表达式匹配:

检查正则表达式
import re def is_valid_email(email: str) -> bool: email_regex = re.compile("(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$)") return bool(re.match(email_regex, email))

有关详细信息,请参阅 本部分

查看参考文档

使用 PyCharm,当您碰到某个别名时无需每次都上网搜索,也无需在整个应用程序中查找您记不清的方法声明。 将插入符号置于您要查找的关键字处,然后按 Ctrl+Q

快速文档
from math import sqrt def square_and_root(x): square = x ** 2 root = sqrt(x) return square, root

有关详细信息,请参阅 快速文档

最后修改日期: 2025年 12月 2日