PyCharm 是 JetBrains 推出的专为 Python 打造的集成开发环境,也是当前行业内最主流的 Python 开发工具,支持 Windows、macOS、Linux 三大主流操作系统,能满足不同设备用户的开发需求。
特点
- 它最核心的优势是实现了开发全流程的一体化覆盖,从最基础的代码编写、程序运行,到问题调试、项目管理、团队协作,所有环节都能在同一个界面内完成,无需频繁切换多个工具。在编码体验上,它的智能代码补全功能可以结合上下文给出精准提示,搭配实时语法错误高亮、PEP8 规范自动检查,能大幅降低输入失误,帮开发者快速写出规范的高质量代码。
- 它自带功能完善的图形化调试器,支持条件断点、变量实时查看、分步调试,哪怕是复杂的业务逻辑也能快速定位问题根源。同时原生集成了 Git 等版本控制系统,项目分支管理、代码合并、提交记录追溯都能直观操作,非常适配团队协作场景。
- 针对不同开发场景,它还原生支持 Django、Flask、FastAPI 等主流 Web 框架,内置 Jupyter Notebook 支持,搭配数据库工具、单元测试框架,无论是 Web 后端开发、数据科学分析、自动化脚本编写,还是机器学习原型开发都能流畅胜任。
安装 PyCharm
PyCharm 分为两个版本,初学者选择免费的社区版即可:
- Professional(专业版):付费,适合专业开发者,支持 Web 开发、数据库工具、科学计算等全套功能。
- Community(社区版):免费,适合初学者 / 学生,支持纯 Python 开发的核心功能,对初学者完全够用
访问 JetBrains 官网的 PyCharm 下载页面:https://www.jetbrains.com/pycharm/download/。

不同操作系统的安装方式
Windows 系统安装方式
- 下载安装包:进入PyCharm官方下载页,选择社区版(免费)或专业版,下载对应64位.exe安装文件。
- 运行安装向导:双击安装包,自定义安装路径(建议避开C盘系统目录),进入「Installation Options」页面,勾选Ceate Desktop Shortcut、Associate .py文件、Add launchers dir to PATH三个核心选项,点击下一步直至完成安装。
- 首次启动:从桌面快捷方式打开PyCharm,选择不导入旧配置,完成主题设置后即可进入主界面,后续可手动配置本地Python解释器路径。
Linux 系统安装方式
- Snap一键安装(最简方式):在终端执行命令sudo snap install pycharm-community --classic,系统自动处理所有依赖,安装完成后直接在应用列表中启动即可,后续还能自动更新版本。
- 官方Tar包手动安装(最灵活):从官网下载.tar.gz压缩包,在终端执行tar -zxvf 安装包名.tar.gz解压,进入解压后的bin目录,运行./pycharm.sh即可启动;首次启动后可通过「Tools→Create Desktop Entry」创建桌面快捷方式,方便后续快速打开。
解压下载的 .tar.gz 文件:
tar -xzf pycharm-*.tar.gz
进入解压后的目录,找到 bin 文件夹
cd pycharm-*/bin
运行 pycharm.sh 启动 PyCharm
./pycharm.sh
macOS 系统安装方式
- 匹配芯片选包:先点击左上角苹果图标→「关于本机」确认芯片类型,Apple Silicon(M1/M2/M3)机型下载aarch64后缀的.dmg文件,Intel机型下载x64版本,避免启动报错。
- 拖拽式安装:双击打开下载的.dmg磁盘映像,将PyCharm图标直接拖拽到右侧「Applications」文件夹,等待系统完成文件复制即可完成安装。
- 安全授权与初始化:首次启动若弹出"已损坏无法打开"提示,进入「系统设置→隐私与安全性」点击「仍要打开」完成授权;后续选择不导入旧配置,设置界面主题后,在新建项目时指定本地Python解释器路径即可使用。
启动后,点击设置,可以进行个人喜好的配置:

选择主题:可以选择 "Light"(浅色)主题。

配置 Python 解释器:已经安装了 Python,PyCharm 会自动检测并配置解释器。如果没有安装,可以手动添加。

安装插件:PyCharm 会推荐一些常用插件

- Chinese Language Pack:JetBrains官方出品的中文语言包,一键将界面切换为中文,大幅降低新手学习门槛,后续可随时禁用切回英文界面。
- Translation:选中文本后右键即可直接翻译,阅读英文源码、第三方库文档时无需跳转浏览器,查词效率大幅提升。
- ignore:内置全语言的.gitignore模板,右键项目就能快速生成Python项目的忽略文件,自动过滤虚拟环境、缓存文件等无需提交的内容,适配Git版本控制场景。
- CodeGeeX:国产AI代码辅助工具,支持一键生成代码、自动补全中文注释,还能实现Python与Java/C++等语言的快速互转,新手写代码卡壳时能快速给出参考方案。
- Material Theme UI:提供多套精致的主题配色与图标风格,替换PyCharm默认界面,长时间编码视觉体验更舒适,注意新版UI下要选择适配最新版本的插件版本。
- Http Client:无需打开Postman,直接在IDE内编写、发送HTTP请求,查看接口返回结果,支持批量运行请求和历史记录追溯,后端开发调试接口更高效。
创建第一个项目
新建项目
打开 PyCharm 后,点击欢迎界面的新建项目按钮。

新建 Python 文件
在左侧 Project(项目)面板中,右键点击项目根目录,选择 New → Python File,输入文件名(如 hello_runoob),回车确认。

写一个简单的程序
- 面向对象设计:使用 Cultivator 类封装修仙者的属性(姓名、年龄、灵根、出生地、境界、修为、寿命等)和行为(修炼 cultivate)。
- 用户交互:get_user_input 函数负责获取用户输入的姓名、年龄、灵根和出生地,并包含基本的输入验证逻辑。
- 修炼逻辑:cultivate 方法模拟每年的修炼过程。根据灵根类型设置不同的修炼速度系数(天灵根最快,杂灵根最慢)。随着年龄增长,修为积累,当修为达到特定阈值时触发境界突破,并增加寿命。
- 生死判定 :每次修炼后检查年龄是否超过寿命,若超过则角色死亡,停止模拟。
- 主循环:main 函数初始化角色后,进入一个循环,每年调用一次修炼方法,并打印结果。用户可以按回车继续或输入 'q' 提前退出。
- 无外部依赖:程序仅使用 Python 内置的 random 和 time 模块,因此 requirements.txt 为空,便于直接运行。
python
import random
import time
class Cultivator:
def __init__(self, name, age, spiritual_root, birthplace):
self.name = name
self.age = age
self.spiritual_root = spiritual_root
self.birthplace = birthplace
self.realm = "凡人"
self.lifespan = 100
self.cultivation_base = 0
self.is_alive = True
def cultivate(self):
if not self.is_alive:
return f"{self.name} 已经道消身陨,无法继续修炼。"
# 根据灵根决定修炼速度系数
root_multipliers = {
"天灵根": 5.0,
"地灵根": 3.0,
"人灵根": 1.5,
"杂灵根": 0.8
}
multiplier = root_multipliers.get(self.spiritual_root, 1.0)
# 增加修为
gain = random.randint(10, 50) * multiplier
self.cultivation_base += gain
# 年龄增长
self.age += 1
# 寿命检查
if self.age >= self.lifespan:
self.is_alive = False
return f"{self.name} 寿元已尽,享年 {self.age} 岁,未能突破境界。"
# 境界突破逻辑 (简化版)
realms = [
("炼气期", 1000),
("筑基期", 5000),
("金丹期", 20000),
("元婴期", 100000),
("化神期", 500000),
("渡劫期", 1000000),
("大乘期", 5000000)
]
current_realm_index = -1
for i, (realm_name, threshold) in enumerate(realms):
if self.cultivation_base >= threshold:
current_realm_index = i
if current_realm_index != -1:
new_realm = realms[current_realm_index][0]
if new_realm != self.realm:
old_realm = self.realm
self.realm = new_realm
# 突破增加寿命
self.lifespan += random.randint(50, 200)
return f"[突破] {self.name} 从 {old_realm} 突破至 {new_realm}!寿元增加。"
return f"{self.name} ({self.age}岁) 正在 {self.birthplace} 闭关修炼,当前境界:{self.realm},修为:{int(self.cultivation_base)}"
def get_user_input():
print("=== 欢迎进入修仙模拟器 ===")
name = input("请输入道友姓名: ")
while True:
try:
age = int(input("请输入初始年龄 (1-16): "))
if 1 <= age <= 16:
break
else:
print("年龄必须在1到16之间,请重新输入。")
except ValueError:
print("请输入有效的数字。")
print("请选择灵根:")
print("1. 天灵根 (修炼极快)")
print("2. 地灵根 (修炼较快)")
print("3. 人灵根 (修炼一般)")
print("4. 杂灵根 (修炼缓慢)")
while True:
root_choice = input("请输入选项 (1-4): ")
if root_choice == '1':
spiritual_root = "天灵根"
break
elif root_choice == '2':
spiritual_root = "地灵根"
break
elif root_choice == '3':
spiritual_root = "人灵根"
break
elif root_choice == '4':
spiritual_root = "杂灵根"
break
else:
print("无效选项,请重新选择。")
print("请选择出生地:")
print("1. 东荒大陆")
print("2. 西漠佛国")
print("3. 南疆巫域")
print("4. 北原冰原")
print("5. 中州神土")
while True:
place_choice = input("请输入选项 (1-5): ")
places = {
'1': "东荒大陆",
'2': "西漠佛国",
'3': "南疆巫域",
'4': "北原冰原",
'5': "中州神土"
}
if place_choice in places:
birthplace = places[place_choice]
break
else:
print("无效选项,请重新选择。")
return name, age, spiritual_root, birthplace
def main():
name, age, spiritual_root, birthplace = get_user_input()
cultivator = Cultivator(name, age, spiritual_root, birthplace)
print(f"\n道友 {name} 开始了修仙之路...")
print(f"初始信息: 年龄={age}, 灵根={spiritual_root}, 出生地={birthplace}\n")
# 模拟修炼过程,每年一次
years_to_simulate = 100 # 最多模拟100年,或者直到死亡
for _ in range(years_to_simulate):
if not cultivator.is_alive:
break
result = cultivator.cultivate()
print(result)
# 简单的延迟,让输出看起来更像实时模拟
time.sleep(0.5)
# 询问是否继续
if cultivator.is_alive:
cont = input("\n按回车继续下一年修炼,输入 'q' 退出: ")
if cont.lower() == 'q':
print(f"{cultivator.name} 选择了隐退,当前境界:{cultivator.realm}")
break
if __name__ == "__main__":
main()
