Python PyCharm

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()
相关推荐
梦影_1 小时前
Langchain简单快速上手教程(九)—— 核心组件之少样本提示
人工智能·python·自然语言处理·中间件·langchain
牛肉胡辣汤1 小时前
Blender + Three.js 开发讲解:从 .blend 到能转的产品页
开发语言·javascript·blender
惊讶的猫1 小时前
Spring AOP
java·开发语言
机械设计扫地僧1 小时前
用PYTHON工具对FAG INA CS 系列薄壁轴承进行初步选型筛选
python
ii_best1 小时前
按键精灵手机助手 v5.2.1 实测:inputText 逐字延时 + 调试面板多行复制,安卓脚本开发的两个输入痛点一次解决
android·开发语言·智能手机·自动化·ai编程·按键精灵
波力海苔夹心脆6751 小时前
C# StringBuilder 详解:字符串拼接为什么总说要用它?
开发语言·笔记·c#·.net·字符串·stringbuilder·入门教程
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 今日佳人:需求分析
java·开发语言·交友
老孟说禅1 小时前
自动化测试入门(一)
开发语言·python
miofly1 小时前
GitHub 今日推荐|Snapintosh:用 ARM EL2 监控器骗过内核,让骁龙芯片笔记本跑 macOS
python·开源·github