PyCharm 2025.2 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))

特定的高亮颜色可以在设置对话框的 Editor | Color Scheme 页面中定义。

在新的 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。 正则表达式检查器将显示,您可以在其中输入字符串并检查它是否匹配正则表达式:

检查正则表达式
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年 9月 26日