<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Direction</title>
  
  <subtitle>记录与分享</subtitle>
  <link href="https://fxdirection.github.io/atom.xml" rel="self"/>
  
  <link href="https://fxdirection.github.io/"/>
  <updated>2026-02-24T13:17:06.201Z</updated>
  <id>https://fxdirection.github.io/</id>
  
  <author>
    <name>孤舸</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>OpenCode 部署教程：从安装到模型接入</title>
    <link href="https://fxdirection.github.io/2026/02/24/OpenCode%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/"/>
    <id>https://fxdirection.github.io/2026/02/24/OpenCode%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/</id>
    <published>2026-02-24T12:35:00.000Z</published>
    <updated>2026-02-24T13:17:06.201Z</updated>
    
    <content type="html"><![CDATA[<h1 id="OpenCode-部署教程"><a href="#OpenCode-部署教程" class="headerlink" title="OpenCode 部署教程"></a>OpenCode 部署教程</h1><blockquote><p>📖 本文也提供了 <a href="/opencode-deploy-from-video/">独立阅读版本</a>，包含侧边导航、搜索和滚动定位。</p></blockquote><p>这篇内容是面向实战的 OpenCode 部署指南：先把 CLI 跑起来，再逐步接入桌面版、插件版和常见模型供应商。</p><hr><h2 id="1-四种使用形态"><a href="#1-四种使用形态" class="headerlink" title="1. 四种使用形态"></a>1. 四种使用形态</h2><p>OpenCode 常见的使用方式有四种：</p><ol><li>命令行（CLI）</li><li>桌面客户端（Desktop）</li><li>编辑器插件（例如 VS Code）</li><li>云端运行环境（Cloud）</li></ol><p>建议顺序是：<strong>先 CLI，再插件&#x2F;桌面，最后补云端</strong>。</p><hr><h2 id="2-安装命令行版（主流程）"><a href="#2-安装命令行版（主流程）" class="headerlink" title="2. 安装命令行版（主流程）"></a>2. 安装命令行版（主流程）</h2><h3 id="2-1-前置环境"><a href="#2-1-前置环境" class="headerlink" title="2.1 前置环境"></a>2.1 前置环境</h3><p>先安装 Node.js（建议 LTS 版本）。</p><h3 id="2-2-安装与启动"><a href="#2-2-安装与启动" class="headerlink" title="2.2 安装与启动"></a>2.2 安装与启动</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm install -g opencode-ai</span><br><span class="line">opencode</span><br></pre></td></tr></table></figure><h3 id="2-3-基础验证"><a href="#2-3-基础验证" class="headerlink" title="2.3 基础验证"></a>2.3 基础验证</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">opencode --version</span><br><span class="line">/models</span><br><span class="line">/connect</span><br></pre></td></tr></table></figure><p>如果以上命令都可用，说明核心链路已跑通。</p><hr><h2 id="3-安装桌面版（可选）"><a href="#3-安装桌面版（可选）" class="headerlink" title="3. 安装桌面版（可选）"></a>3. 安装桌面版（可选）</h2><ol><li>下载对应系统安装包并安装。</li><li>首次打开后选择项目目录。</li><li>进入模型列表确认 Provider 已加载。</li></ol><p>桌面版更适合轻量对话与快速体验；复杂工程任务依然建议以 CLI 为主。</p><hr><h2 id="4-安装-VS-Code-插件版"><a href="#4-安装-VS-Code-插件版" class="headerlink" title="4. 安装 VS Code 插件版"></a>4. 安装 VS Code 插件版</h2><ol><li>在扩展市场搜索并安装 <code>OpenCode</code>。</li><li>按 <code>Ctrl + Shift + P</code> 打开命令面板，执行 OpenCode 相关命令。</li><li>选中代码后可直接发送到 OpenCode 对话窗口，减少复制粘贴。</li></ol><p>插件版依赖本地 OpenCode 环境，所以请先完成 CLI 安装。</p><hr><h2 id="5-查看和切换模型"><a href="#5-查看和切换模型" class="headerlink" title="5. 查看和切换模型"></a>5. 查看和切换模型</h2><p>进入 OpenCode 后，先看当前模型列表：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/models</span><br></pre></td></tr></table></figure><p>建议先选一个可直接使用的模型跑小任务，确认工作流没问题，再做高级接入。</p><hr><h2 id="6-接入-Antigravity-相关模型"><a href="#6-接入-Antigravity-相关模型" class="headerlink" title="6. 接入 Antigravity 相关模型"></a>6. 接入 Antigravity 相关模型</h2><p>流程要点：</p><ol><li>安装对应插件（按插件文档执行）。</li><li>执行登录命令并完成浏览器授权。</li><li>回到 OpenCode 执行 <code>/models</code>，选择新增模型。</li></ol><p>常用入口命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">/connect</span><br><span class="line">/models</span><br></pre></td></tr></table></figure><hr><h2 id="7-接入-Codex（OpenAI）"><a href="#7-接入-Codex（OpenAI）" class="headerlink" title="7. 接入 Codex（OpenAI）"></a>7. 接入 Codex（OpenAI）</h2><ol><li>执行 <code>/connect</code>。</li><li>选择 OpenAI 并完成浏览器授权。</li><li>执行 <code>/models</code> 切换到目标编码模型。</li></ol><p>完成后就可以在 OpenCode 里直接使用对应模型进行编码任务。</p><hr><h2 id="8-接入-OpenRouter"><a href="#8-接入-OpenRouter" class="headerlink" title="8. 接入 OpenRouter"></a>8. 接入 OpenRouter</h2><ol><li>在 OpenRouter 控制台申请 API Key。</li><li>在 OpenCode 执行 <code>/connect</code>，选择 OpenRouter 并粘贴密钥。</li><li>执行 <code>/models</code> 验证模型列表。</li></ol><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">/connect</span><br><span class="line"><span class="comment"># 选择 OpenRouter</span></span><br><span class="line"><span class="comment"># 填入 API Key</span></span><br><span class="line">/models</span><br></pre></td></tr></table></figure><hr><h2 id="9-推荐部署顺序（避免折腾）"><a href="#9-推荐部署顺序（避免折腾）" class="headerlink" title="9. 推荐部署顺序（避免折腾）"></a>9. 推荐部署顺序（避免折腾）</h2><ol><li>先完成 CLI 安装与版本验证。</li><li>接入一个主力 Provider（OpenAI 或 OpenRouter）。</li><li>再补充 Antigravity 等高级模型通道。</li><li>固定一个默认模型作为日常主模型。</li><li>最后接入 VS Code 插件提升效率。</li></ol><hr><h2 id="10-Session-并行协作建议"><a href="#10-Session-并行协作建议" class="headerlink" title="10. Session 并行协作建议"></a>10. Session 并行协作建议</h2><p>把不同任务拆成多个 Session：</p><ul><li>Session A：新功能开发</li><li>Session B：Bug 修复</li><li>Session C：重构&#x2F;性能优化</li></ul><p>这样能减少上下文干扰，也更方便回溯。</p><hr><h2 id="11-常见问题"><a href="#11-常见问题" class="headerlink" title="11. 常见问题"></a>11. 常见问题</h2><h3 id="Q1：opencode-提示命令不存在"><a href="#Q1：opencode-提示命令不存在" class="headerlink" title="Q1：opencode 提示命令不存在"></a>Q1：<code>opencode</code> 提示命令不存在</h3><p>通常是 npm 全局目录未加入 PATH。重开终端后重试；不行就检查 Node&#x2F;npm 的全局安装路径。</p><h3 id="Q2：-models-看不到刚接入的模型"><a href="#Q2：-models-看不到刚接入的模型" class="headerlink" title="Q2：/models 看不到刚接入的模型"></a>Q2：<code>/models</code> 看不到刚接入的模型</h3><p>检查三项：授权是否完成、Provider 是否连接成功、会话是否已重启。</p><h3 id="Q3：应该优先桌面版还是-CLI？"><a href="#Q3：应该优先桌面版还是-CLI？" class="headerlink" title="Q3：应该优先桌面版还是 CLI？"></a>Q3：应该优先桌面版还是 CLI？</h3><p>优先 CLI。桌面版与插件版更适合作为辅助入口。</p>]]></content>
    
    
    <summary type="html">从命令行安装到插件与模型接入，完整梳理 OpenCode 的部署流程与推荐工作流。</summary>
    
    
    
    <category term="技术积累" scheme="https://fxdirection.github.io/categories/%E6%8A%80%E6%9C%AF%E7%A7%AF%E7%B4%AF/"/>
    
    
    <category term="开发工具" scheme="https://fxdirection.github.io/tags/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    
    <category term="OpenCode" scheme="https://fxdirection.github.io/tags/OpenCode/"/>
    
    <category term="AI编程" scheme="https://fxdirection.github.io/tags/AI%E7%BC%96%E7%A8%8B/"/>
    
    <category term="模型接入" scheme="https://fxdirection.github.io/tags/%E6%A8%A1%E5%9E%8B%E6%8E%A5%E5%85%A5/"/>
    
  </entry>
  
  <entry>
    <title>多智能体强化学习中的通信机制——论文学习笔记</title>
    <link href="https://fxdirection.github.io/2026/02/23/MARL%E9%80%9A%E4%BF%A1%E6%9C%BA%E5%88%B6%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/"/>
    <id>https://fxdirection.github.io/2026/02/23/MARL%E9%80%9A%E4%BF%A1%E6%9C%BA%E5%88%B6%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</id>
    <published>2026-02-23T09:00:00.000Z</published>
    <updated>2026-02-23T12:35:21.484Z</updated>
    
    <content type="html"><![CDATA[<h1 id="多智能体强化学习中的通信机制——论文学习笔记"><a href="#多智能体强化学习中的通信机制——论文学习笔记" class="headerlink" title="多智能体强化学习中的通信机制——论文学习笔记"></a>多智能体强化学习中的通信机制——论文学习笔记</h1><blockquote><p>本笔记基于一篇 MARL（Multi-Agent Reinforcement Learning）通信机制综述论文，系统整理了多智能体系统中「为什么需要通信」「通信什么」「怎么通信」等核心问题。</p></blockquote><hr><h2 id="为什么做这篇笔记？"><a href="#为什么做这篇笔记？" class="headerlink" title="为什么做这篇笔记？"></a>为什么做这篇笔记？</h2><p>多智能体强化学习是当前 AI 研究的热门方向之一。当多个智能体（Agent）在同一个环境中学习时，它们之间的「通信」问题是绕不开的核心议题。这篇笔记将这个复杂问题拆解成 6 个竹节，用生活类比和两智能体示例来帮助理解。</p><hr><h2 id="笔记内容一览"><a href="#笔记内容一览" class="headerlink" title="笔记内容一览"></a>笔记内容一览</h2><table><thead><tr><th>章节</th><th>主题</th><th>核心问题</th></tr></thead><tbody><tr><td>第 1 章</td><td>MARL 基础与非平稳性</td><td>为什么多智能体的世界是「变化的」？</td></tr><tr><td>第 2 章</td><td>CTDE 范式</td><td>「集中训练、分布执行」是什么意思？</td></tr><tr><td>第 3 章</td><td>通信三层</td><td>信息层、结构层、优化层分别解决什么？</td></tr><tr><td>第 4 章</td><td>带宽约束</td><td>如何在有限带宽下高效通信？</td></tr><tr><td>第 5 章</td><td>对称性问题</td><td>怎么让一模一样的智能体学会分工？</td></tr><tr><td>第 6 章</td><td>核心思想回顾</td><td>从因果链角度串联全部知识点</td></tr></tbody></table><hr><h2 id="笔记特色"><a href="#笔记特色" class="headerlink" title="笔记特色"></a>笔记特色</h2><ul><li>每个概念都有「生活类比」和「两智能体示例」，降低理解门槛</li><li>内置 SVG 流程图和对照表，直观展示概念关系</li><li>自测 Quiz 模块，边学边检验</li><li>阅读进度条实时追踪</li><li>全站搜索 + 侧边栏导航，快速定位</li></ul><hr><h2 id="开始阅读"><a href="#开始阅读" class="headerlink" title="开始阅读"></a>开始阅读</h2><p>👉 <strong><a href="/marl-comm-notes/">点击进入完整学习笔记</a></strong></p><p>笔记是独立的交互式页面，支持在线阅读、搜索和自测。</p>]]></content>
    
    
    <summary type="html">基于多智能体强化学习（MARL）通信机制综述论文的学习笔记，涵盖非平稳性、CTDE、通信三层、带宽约束与对称性等核心议题</summary>
    
    
    
    <category term="论文笔记" scheme="https://fxdirection.github.io/categories/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="MARL" scheme="https://fxdirection.github.io/tags/MARL/"/>
    
    <category term="强化学习" scheme="https://fxdirection.github.io/tags/%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/"/>
    
    <category term="多智能体" scheme="https://fxdirection.github.io/tags/%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93/"/>
    
    <category term="通信机制" scheme="https://fxdirection.github.io/tags/%E9%80%9A%E4%BF%A1%E6%9C%BA%E5%88%B6/"/>
    
    <category term="论文阅读" scheme="https://fxdirection.github.io/tags/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB/"/>
    
  </entry>
  
  <entry>
    <title>VS Code + Git 入门教程：像存游戏档一样管理你的项目</title>
    <link href="https://fxdirection.github.io/2025/12/17/VSCode-Git%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/"/>
    <id>https://fxdirection.github.io/2025/12/17/VSCode-Git%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/</id>
    <published>2025-12-17T11:00:00.000Z</published>
    <updated>2026-02-23T17:20:28.545Z</updated>
    
    <content type="html"><![CDATA[<h1 id="VS-Code-Git-入门教程"><a href="#VS-Code-Git-入门教程" class="headerlink" title="VS Code + Git 入门教程"></a>VS Code + Git 入门教程</h1><blockquote><p>📖 本文也提供了 <a href="/vscode-git-tutorial/">独立阅读版本</a>，拥有侧边导航和更好的阅读体验。</p></blockquote><p>很多人第一次听到 Git 的定义，比如什么「分布式版本管理系统」，往往会被这些晦涩的术语搞晕。其实 Git 的核心逻辑非常简单，你可以直接把它理解为一个「游戏存档系统」。</p><ul><li><strong>Git</strong>：本地的存档系统。你写完一段代码，就相当于打到了一个新的游戏进度。</li><li><strong>Commit（提交）</strong>：按下「保存游戏」按钮。每次保存，你都要给这个存档起个名字（比如「打完第一个 Boss」或者「修正了登录 Bug」）。</li><li><strong>GitHub</strong>：游戏云服务器（比如 Steam 云）。</li><li><strong>Push（推送）</strong>：把你的本地存档上传到云端。这样就算你电脑炸了，也能在别的电脑上找回进度。</li></ul><hr><h2 id="1-准备工作"><a href="#1-准备工作" class="headerlink" title="1. 准备工作"></a>1. 准备工作</h2><h3 id="1-1-安装-VS-Code"><a href="#1-1-安装-VS-Code" class="headerlink" title="1.1 安装 VS Code"></a>1.1 安装 VS Code</h3><ol><li>访问官网：<a href="https://code.visualstudio.com/">code.visualstudio.com</a></li><li>下载并安装。在安装过程中，务必勾选以下两个选项，方便你直接在文件夹右键打开代码：<ul><li>✅ 将”通过 Code 打开”操作添加到文件上下文菜单</li><li>✅ 将”通过 Code 打开”操作添加到目录上下文菜单</li></ul></li></ol><h3 id="1-2-安装-Git"><a href="#1-2-安装-Git" class="headerlink" title="1.2 安装 Git"></a>1.2 安装 Git</h3><ol><li>访问官网：<a href="https://git-scm.com/downloads">git-scm.com&#x2F;downloads</a></li><li>下载 Windows 版本。</li><li><strong>安装重点</strong>：在选择默认编辑器时，推荐从下拉菜单中选择 <strong>Visual Studio Code</strong>，而不是默认的 Vim。Vim 对于初学者来说比较难操作。</li><li>在配置初始分支名时，建议选择 <strong>Override the default branch name for new repositories</strong>，并填入 <code>main</code>。</li><li>安装完成后，打开终端输入 <code>git --version</code>，看到版本号即表示成功。</li></ol><hr><h2 id="2-必做的初始配置"><a href="#2-必做的初始配置" class="headerlink" title="2. 必做的初始配置"></a>2. 必做的初始配置</h2><p>Git 在你第一次存档时，需要知道「这个档是谁存的」。如果你跳过这一步，后续提交代码会直接报错。</p><p>你需要打开 VS Code 的终端（Terminal），依次输入以下两条命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">git config --global user.name <span class="string">&quot;你的用户名&quot;</span></span><br><span class="line">git config --global user.email <span class="string">&quot;你的邮箱@example.com&quot;</span></span><br></pre></td></tr></table></figure><blockquote><p>💡 建议这里的用户名和邮箱与你之后注册的 GitHub 账号保持一致。</p></blockquote><hr><h2 id="3-注册-GitHub-账号"><a href="#3-注册-GitHub-账号" class="headerlink" title="3. 注册 GitHub 账号"></a>3. 注册 GitHub 账号</h2><ol><li>访问 <a href="https://github.com/">github.com</a> 并点击 <strong>Sign up</strong>。</li><li>GitHub 就是你的「云端存档仓库」。在这里存代码不仅可以备份，还能让别人看到你的作品。</li></ol><hr><h2 id="4-开始你的第一个项目"><a href="#4-开始你的第一个项目" class="headerlink" title="4. 开始你的第一个项目"></a>4. 开始你的第一个项目</h2><h3 id="4-1-创建文件夹"><a href="#4-1-创建文件夹" class="headerlink" title="4.1 创建文件夹"></a>4.1 创建文件夹</h3><p>在桌面创建一个文件夹，比如 <code>my-git-demo</code>，然后直接把它拖进 VS Code。</p><h3 id="4-2-编写代码"><a href="#4-2-编写代码" class="headerlink" title="4.2 编写代码"></a>4.2 编写代码</h3><p>新建一个 <code>index.html</code> 或 <code>hello.py</code>。随便写点内容并保存。</p><h3 id="4-3-初始化本地存档（git-init）"><a href="#4-3-初始化本地存档（git-init）" class="headerlink" title="4.3 初始化本地存档（git init）"></a>4.3 初始化本地存档（git init）</h3><p>点击 VS Code 左侧侧边栏那个像「分支」一样的图标（源代码管理&#x2F;Source Control）。</p><p>你会看到一个 <strong>Initialize Repository（初始化仓库）</strong> 的按钮。点击它。这相当于在这个文件夹里安装了一个「存档插槽」。</p><hr><h2 id="5-保存第一个存档（Commit）"><a href="#5-保存第一个存档（Commit）" class="headerlink" title="5. 保存第一个存档（Commit）"></a>5. 保存第一个存档（Commit）</h2><p>初始化后，VS Code 会列出你刚才创建的文件。</p><ol><li>在顶部的消息框（Message）里输入存档名字，比如 <code>first save</code>。</li><li>点击 <strong>Commit（提交）</strong> 按钮。</li><li>如果是第一次操作，VS Code 可能会问你要不要自动暂存所有更改，点击 <strong>Always（总是）</strong> 即可。</li></ol><p>此时，你的代码就已经在本地存好档了。</p><hr><h2 id="6-查看存档进度（Graph）"><a href="#6-查看存档进度（Graph）" class="headerlink" title="6. 查看存档进度（Graph）"></a>6. 查看存档进度（Graph）</h2><p>推荐安装 VS Code 的相关插件（或者使用内置的 Source Control Graph 面板），你可以直观地看到：</p><ul><li><strong>绿色的线</strong>：代表你新增的代码。</li><li><strong>红色的线</strong>：代表你删除的代码。</li><li><strong>节点</strong>：每一个节点就是一个存档。你可以随时点开，对比两个存档之间到底改了哪几行。</li></ul><hr><h2 id="7-将存档同步到云端（Push）"><a href="#7-将存档同步到云端（Push）" class="headerlink" title="7. 将存档同步到云端（Push）"></a>7. 将存档同步到云端（Push）</h2><p>现在存档只在你自己的电脑上。我们要把它传到 GitHub 云端。</p><h3 id="7-1-方法一：直接从-VS-Code-发布（最快）"><a href="#7-1-方法一：直接从-VS-Code-发布（最快）" class="headerlink" title="7.1 方法一：直接从 VS Code 发布（最快）"></a>7.1 方法一：直接从 VS Code 发布（最快）</h3><p>在源代码管理面板点击 <strong>Publish to GitHub</strong> 按钮。</p><ol><li><strong>OAuth 授权</strong>：浏览器会弹出页面，询问是否允许 VS Code 访问 GitHub 账号。点击 <strong>Authorize</strong> 允许。</li><li><strong>选择公开&#x2F;私有</strong>：<ul><li><strong>Public（公开）</strong>：全世界都能看到你的代码。</li><li><strong>Private（私有）</strong>：只有你自己（和你邀请的人）能看到。</li></ul></li><li>发布成功后，你会发现存档节点旁边多了一个「云朵」图标，这代表本地和云端已经同步。</li></ol><h3 id="7-2-方法二：先在-GitHub-建库（更专业）"><a href="#7-2-方法二：先在-GitHub-建库（更专业）" class="headerlink" title="7.2 方法二：先在 GitHub 建库（更专业）"></a>7.2 方法二：先在 GitHub 建库（更专业）</h3><p>如果你想给仓库起个不一样的名字，可以这么操作：</p><ol><li>在 GitHub 首页点击右上角 <strong>+</strong> -&gt; <strong>New repository</strong>。</li><li>填入名字（比如 <code>custom-project-name</code>），点击 <strong>Create</strong>。</li><li>在 VS Code 中点击源代码管理面板顶部的三个点 <code>...</code> -&gt; <strong>Remote（远程）</strong> -&gt; <strong>Add Remote（添加远程仓库）</strong>。</li><li>选择 <strong>Add remote from GitHub</strong>，找到你刚才建好的那个名字，选中它。</li><li>起个别名（比如 <code>origin</code> 或 <code>github</code>），最后点击底部的 <strong>Publish</strong> 或 <strong>Sync</strong>。</li></ol><hr><h2 id="8-国内用户必读：配置网络代理"><a href="#8-国内用户必读：配置网络代理" class="headerlink" title="8. 国内用户必读：配置网络代理"></a>8. 国内用户必读：配置网络代理</h2><p>由于网络环境原因，国内用户在推送（Push）到 GitHub 时经常会遇到连接超时的情况。如果你发现进度条一直转不动，可以在终端输入以下命令设置代理（假设你的代理工具端口是 7890）：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 设置 HTTP 代理</span></span><br><span class="line">git config --global http.proxy http://127.0.0.1:7890</span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置 HTTPS 代理</span></span><br><span class="line">git config --global https.proxy http://127.0.0.1:7890</span><br></pre></td></tr></table></figure><blockquote><p>⚠️ 注意：端口号（7890）需要根据你自己的代理软件实际设置来修改。</p></blockquote><hr><h2 id="9-什么是本地与云端的「进度偏差」？"><a href="#9-什么是本地与云端的「进度偏差」？" class="headerlink" title="9. 什么是本地与云端的「进度偏差」？"></a>9. 什么是本地与云端的「进度偏差」？</h2><p>当你又写了一些代码并做了本地 Commit，但还没执行 Push 时，你会发现：</p><ul><li><strong>本地指针（main）</strong>：已经跑到了最新的存档。</li><li><strong>云端指针（origin&#x2F;main）</strong>：还停留在上一次推送的位置。</li></ul><p>这就是「本地领先于云端」。你只需要点击 <strong>Sync Changes（同步更改）</strong>，Git 就会把中间差的那几个存档全部推上去，让云端追上你的进度。</p><hr><h2 id="10-进阶必备：-gitignore"><a href="#10-进阶必备：-gitignore" class="headerlink" title="10. 进阶必备：.gitignore"></a>10. 进阶必备：.gitignore</h2><p>并不是所有文件都要上传到云端。比如 Python 的缓存文件、VS Code 的配置、或是包含密码的 <code>.env</code> 文件。</p><p>在项目根目录新建一个 <code>.gitignore</code> 文件，写在里面的文件会被 Git 自动忽略：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"># 忽略 Python 缓存</span><br><span class="line">__pycache__/</span><br><span class="line">*.pyc</span><br><span class="line"></span><br><span class="line"># 忽略本地配置</span><br><span class="line">.vscode/</span><br><span class="line"></span><br><span class="line"># 忽略系统杂质</span><br><span class="line">.DS_Store</span><br><span class="line">Thumbs.db</span><br></pre></td></tr></table></figure><hr><h2 id="11-常用-Git-命令速查表"><a href="#11-常用-Git-命令速查表" class="headerlink" title="11. 常用 Git 命令速查表"></a>11. 常用 Git 命令速查表</h2><p>虽然 VS Code 的图形界面已经涵盖了 90% 的操作，但了解这些命令能让你在出问题时更从容：</p><table><thead><tr><th align="left">动作</th><th align="left">命令行</th><th align="left">VS Code 对应操作</th></tr></thead><tbody><tr><td align="left"><strong>初始化</strong></td><td align="left"><code>git init</code></td><td align="left">点击 Initialize Repository 按钮</td></tr><tr><td align="left"><strong>查看状态</strong></td><td align="left"><code>git status</code></td><td align="left">查看侧边栏文件列表</td></tr><tr><td align="left"><strong>存入暂存区</strong></td><td align="left"><code>git add .</code></td><td align="left">点击文件旁的 + 号</td></tr><tr><td align="left"><strong>保存存档</strong></td><td align="left"><code>git commit -m &quot;消息&quot;</code></td><td align="left">输入消息并点击 Commit 按钮</td></tr><tr><td align="left"><strong>传到云端</strong></td><td align="left"><code>git push</code></td><td align="left">点击 Sync Changes 或推送按钮</td></tr><tr><td align="left"><strong>从云端拉取</strong></td><td align="left"><code>git pull</code></td><td align="left">点击同步按钮</td></tr><tr><td align="left"><strong>克隆项目</strong></td><td align="left"><code>git clone [URL]</code></td><td align="left">在命令面板输入 Git: Clone</td></tr><tr><td align="left"><strong>查看历史</strong></td><td align="left"><code>git log</code></td><td align="left">查看 Source Control Graph 面板</td></tr></tbody></table><hr><h2 id="12-推荐资源"><a href="#12-推荐资源" class="headerlink" title="12. 推荐资源"></a>12. 推荐资源</h2><p>如果你想系统地从底层原理学习 Git，Git 官网推荐了一本免费开源的神书：</p><ul><li><strong>《Pro Git》</strong>：可以在 <a href="https://git-scm.com/book/zh/v2">git-scm.com&#x2F;book&#x2F;zh&#x2F;v2</a> 免费在线阅读。</li></ul><hr>]]></content>
    
    
    <summary type="html">手把手教你使用 VS Code 和 Git，从安装配置到上传第一个项目。用游戏存档的类比，让你一眼看懂 Git 逻辑。</summary>
    
    
    
    <category term="技术积录" scheme="https://fxdirection.github.io/categories/%E6%8A%80%E6%9C%AF%E7%A7%AF%E5%BD%95/"/>
    
    
    <category term="开发工具" scheme="https://fxdirection.github.io/tags/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    
    <category term="Git" scheme="https://fxdirection.github.io/tags/Git/"/>
    
    <category term="VS Code" scheme="https://fxdirection.github.io/tags/VS-Code/"/>
    
    <category term="GitHub" scheme="https://fxdirection.github.io/tags/GitHub/"/>
    
  </entry>
  
  <entry>
    <title>Python 基础入门学习笔记</title>
    <link href="https://fxdirection.github.io/2025/12/16/Python%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/"/>
    <id>https://fxdirection.github.io/2025/12/16/Python%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</id>
    <published>2025-12-16T02:00:00.000Z</published>
    <updated>2026-02-23T12:33:01.569Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Python-基础入门学习笔记"><a href="#Python-基础入门学习笔记" class="headerlink" title="Python 基础入门学习笔记"></a>Python 基础入门学习笔记</h1><blockquote><p>本文系统整理了 Python 编程语言的基础知识点，涵盖输出、数据类型、列表、循环、条件判断、字典、函数与类等核心概念，适合 Python 初学者参考学习。</p></blockquote><hr><h2 id="目录"><a href="#目录" class="headerlink" title="目录"></a>目录</h2><ol><li><a href="#1-%E8%BE%93%E5%87%BA%E8%AF%AD%E5%8F%A5-print">输出语句 (print)</a></li><li><a href="#2-%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B">数据类型</a></li><li><a href="#3-%E5%88%97%E8%A1%A8%E4%B8%8E%E5%85%83%E7%BB%84">列表与元组</a></li><li><a href="#4-for-%E5%BE%AA%E7%8E%AF">for 循环</a></li><li><a href="#5-%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD-if-elif-else">条件判断 (if-elif-else)</a></li><li><a href="#6-%E5%AD%97%E5%85%B8-dict">字典 (dict)</a></li><li><a href="#7-%E5%87%BD%E6%95%B0%E5%AE%9A%E4%B9%89">函数定义</a></li><li><a href="#8-%E5%87%BD%E6%95%B0%E5%BA%94%E7%94%A8%E6%95%B0%E5%AD%A6%E8%BF%90%E7%AE%97">函数应用：数学运算</a></li><li><a href="#9-%E7%B1%BB%E4%B8%8E%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1">类与面向对象</a></li><li><a href="#10-%E7%A8%8B%E5%BA%8F%E5%85%A5%E5%8F%A3%E4%B8%8E%E6%A8%A1%E5%9D%97%E5%8C%96">程序入口与模块化</a></li></ol><hr><h2 id="1-输出语句-print"><a href="#1-输出语句-print" class="headerlink" title="1. 输出语句 (print)"></a>1. 输出语句 (print)</h2><h3 id="学习目标"><a href="#学习目标" class="headerlink" title="学习目标"></a>学习目标</h3><p>掌握 Python 中最基础的输出函数 <code>print()</code> 的使用方法，以及格式化字符串（f-string）的基本语法。</p><h3 id="核心代码"><a href="#核心代码" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">print</span>(<span class="string">&#x27;Hello, Python&#x27;</span>)</span><br><span class="line">x = <span class="number">100</span></span><br><span class="line"><span class="built_in">print</span>(<span class="string">f&#x27;你好， <span class="subst">&#123;x&#125;</span>&#x27;</span>)</span><br></pre></td></tr></table></figure><h3 id="知识点解析"><a href="#知识点解析" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>语法</th><th>说明</th></tr></thead><tbody><tr><td><code>print(&#39;...&#39;)</code></td><td>输出字符串到控制台</td></tr><tr><td><code>f&#39;...{变量}...&#39;</code></td><td>f-string 格式化字符串，可在字符串中嵌入变量</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li><code>print()</code> 是 Python 中最常用的输出函数</li><li>f-string（格式化字符串字面量）是 Python 3.6+ 引入的特性，语法简洁直观</li><li>使用 <code>f</code> 前缀后，可在字符串中用 <code>{}</code> 包裹变量名实现动态插值</li></ul><hr><h2 id="2-数据类型"><a href="#2-数据类型" class="headerlink" title="2. 数据类型"></a>2. 数据类型</h2><h3 id="学习目标-1"><a href="#学习目标-1" class="headerlink" title="学习目标"></a>学习目标</h3><p>了解 Python 中的四种基础数据类型：字符串（str）、整型（int）、浮点数（float）、布尔值（bool）。</p><h3 id="核心代码-1"><a href="#核心代码-1" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">message = <span class="string">&quot;你好，世界&quot;</span>   <span class="comment"># 字符串（变量不能包含中文，开头不能有数字）</span></span><br><span class="line">Message = <span class="string">&quot;你不好，世界&quot;</span></span><br><span class="line">age = <span class="number">18</span>                 <span class="comment"># 整型 int</span></span><br><span class="line">pi = <span class="number">3.1415926</span>           <span class="comment"># 浮点数 float</span></span><br><span class="line">is_student = <span class="literal">True</span>        <span class="comment"># 布尔值 bool (True/False)</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(message, age, pi, is_student)</span><br><span class="line"><span class="built_in">print</span>(<span class="built_in">type</span>(message), <span class="built_in">type</span>(age), <span class="built_in">type</span>(pi), <span class="built_in">type</span>(is_student))</span><br></pre></td></tr></table></figure><h3 id="知识点解析-1"><a href="#知识点解析-1" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>数据类型</th><th>示例</th><th>说明</th></tr></thead><tbody><tr><td><code>str</code></td><td><code>&quot;你好&quot;</code></td><td>字符串，用引号包裹</td></tr><tr><td><code>int</code></td><td><code>18</code></td><td>整数</td></tr><tr><td><code>float</code></td><td><code>3.14</code></td><td>浮点数（小数）</td></tr><tr><td><code>bool</code></td><td><code>True</code> &#x2F; <code>False</code></td><td>布尔值，用于逻辑判断</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>Python 是<strong>大小写敏感</strong>的语言，<code>message</code> 和 <code>Message</code> 是两个不同的变量</li><li>变量命名规则：不能以数字开头，不能包含特殊字符（下划线除外）</li><li><code>type()</code> 函数可用于查看变量的数据类型</li></ul><hr><h2 id="3-列表与元组"><a href="#3-列表与元组" class="headerlink" title="3. 列表与元组"></a>3. 列表与元组</h2><h3 id="学习目标-2"><a href="#学习目标-2" class="headerlink" title="学习目标"></a>学习目标</h3><p>区分 Python 中两种常用的序列类型：列表（list）和元组（tuple），理解它们的可变性差异。</p><h3 id="核心代码-2"><a href="#核心代码-2" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">fruits_list = [<span class="string">&#x27;苹果&#x27;</span>,<span class="string">&#x27;香蕉&#x27;</span>,<span class="string">&#x27;橘子&#x27;</span>]   <span class="comment"># 列表 list</span></span><br><span class="line">fruits_tuple = (<span class="string">&#x27;苹果&#x27;</span>,<span class="string">&#x27;香蕉&#x27;</span>,<span class="string">&#x27;橘子&#x27;</span>)  <span class="comment"># 元组 tuple，元素不可更改</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(fruits_list)</span><br><span class="line"><span class="built_in">print</span>(fruits_tuple)</span><br><span class="line"><span class="built_in">print</span>(<span class="built_in">type</span>(fruits_list), <span class="built_in">type</span>(fruits_tuple))</span><br></pre></td></tr></table></figure><h3 id="知识点解析-2"><a href="#知识点解析-2" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>类型</th><th>语法</th><th>可变性</th></tr></thead><tbody><tr><td><code>list</code></td><td><code>[元素1, 元素2, ...]</code></td><td>✅ 可变（可增删改）</td></tr><tr><td><code>tuple</code></td><td><code>(元素1, 元素2, ...)</code></td><td>❌ 不可变</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>列表使用方括号 <code>[]</code>，元组使用圆括号 <code>()</code></li><li>列表支持 <code>append()</code>、<code>remove()</code> 等修改操作</li><li>元组一旦创建，元素不可更改，适用于存储不应被修改的数据</li><li>注释快捷键：<code>Ctrl + /</code></li></ul><hr><h2 id="4-for-循环"><a href="#4-for-循环" class="headerlink" title="4. for 循环"></a>4. for 循环</h2><h3 id="学习目标-3"><a href="#学习目标-3" class="headerlink" title="学习目标"></a>学习目标</h3><p>掌握 <code>for</code> 循环的基本用法，包括遍历列表和使用 <code>range()</code> 函数生成数值序列。</p><h3 id="核心代码-3"><a href="#核心代码-3" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 遍历列表</span></span><br><span class="line">fruits = [<span class="string">&#x27;苹果&#x27;</span>,<span class="string">&#x27;香蕉&#x27;</span>,<span class="string">&#x27;橘子&#x27;</span>]</span><br><span class="line"><span class="keyword">for</span> i <span class="keyword">in</span> fruits:</span><br><span class="line">    <span class="built_in">print</span>(i)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 使用 range() 生成数值序列</span></span><br><span class="line"><span class="keyword">for</span> i <span class="keyword">in</span> <span class="built_in">range</span>(<span class="number">10</span>):</span><br><span class="line">    <span class="built_in">print</span>(i**<span class="number">2</span>)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 累加求和示例</span></span><br><span class="line">num = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]</span><br><span class="line">total = <span class="number">0</span></span><br><span class="line"><span class="keyword">for</span> i <span class="keyword">in</span> num:</span><br><span class="line">    total += i</span><br><span class="line">    <span class="built_in">print</span>(<span class="string">&#x27;此次循环后&#x27;</span>, total)</span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(total)</span><br></pre></td></tr></table></figure><h3 id="知识点解析-3"><a href="#知识点解析-3" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>语法</th><th>说明</th></tr></thead><tbody><tr><td><code>for item in iterable:</code></td><td>遍历可迭代对象中的每个元素</td></tr><tr><td><code>range(n)</code></td><td>生成 0 到 n-1 的整数序列</td></tr><tr><td><code>**</code></td><td>幂运算符，如 <code>2**3 = 8</code></td></tr><tr><td><code>+=</code></td><td>累加赋值，等价于 <code>total = total + i</code></td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li><code>for</code> 循环是 Python 中最常用的循环结构</li><li><code>range(10)</code> 生成的序列是 <code>[0, 1, 2, ..., 9]</code>（不包含 10）</li><li>循环体内的代码必须缩进（通常为 4 个空格）</li></ul><hr><h2 id="5-条件判断-if-elif-else"><a href="#5-条件判断-if-elif-else" class="headerlink" title="5. 条件判断 (if-elif-else)"></a>5. 条件判断 (if-elif-else)</h2><h3 id="学习目标-4"><a href="#学习目标-4" class="headerlink" title="学习目标"></a>学习目标</h3><p>掌握 Python 中条件分支语句的写法，实现程序的逻辑判断与分支执行。</p><h3 id="核心代码-4"><a href="#核心代码-4" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">age = <span class="number">18</span></span><br><span class="line"><span class="keyword">if</span> age &lt; <span class="number">18</span>:</span><br><span class="line">    <span class="built_in">print</span>(<span class="string">&#x27;未成年&#x27;</span>)</span><br><span class="line"><span class="keyword">elif</span> age &lt; <span class="number">65</span>:</span><br><span class="line">    <span class="built_in">print</span>(<span class="string">&#x27;成年人&#x27;</span>)</span><br><span class="line"><span class="keyword">else</span>:</span><br><span class="line">    <span class="built_in">print</span>(<span class="string">&#x27;老年人&#x27;</span>)</span><br></pre></td></tr></table></figure><h3 id="知识点解析-4"><a href="#知识点解析-4" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>关键字</th><th>说明</th></tr></thead><tbody><tr><td><code>if</code></td><td>如果条件为真，执行对应代码块</td></tr><tr><td><code>elif</code></td><td>否则如果（else if 的缩写）</td></tr><tr><td><code>else</code></td><td>以上条件都不满足时执行</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>条件表达式后必须加冒号 <code>:</code></li><li>代码块通过缩进区分，而非花括号</li><li><code>elif</code> 可以有多个，<code>else</code> 最多一个且必须在最后</li><li>条件判断是<strong>短路求值</strong>的，一旦某个条件满足，后续条件不再检查</li></ul><hr><h2 id="6-字典-dict"><a href="#6-字典-dict" class="headerlink" title="6. 字典 (dict)"></a>6. 字典 (dict)</h2><h3 id="学习目标-5"><a href="#学习目标-5" class="headerlink" title="学习目标"></a>学习目标</h3><p>理解字典这种键值对（key-value）数据结构，掌握其创建、访问与遍历方法。</p><h3 id="核心代码-5"><a href="#核心代码-5" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 字典定义：key : value</span></span><br><span class="line">person = &#123;</span><br><span class="line">    <span class="string">&#x27;name&#x27;</span>: <span class="string">&#x27;蔡徐坤&#x27;</span>,</span><br><span class="line">    <span class="string">&#x27;age&#x27;</span>: <span class="string">&#x27;18&#x27;</span>,</span><br><span class="line">    <span class="string">&#x27;city&#x27;</span>: <span class="string">&#x27;温州&#x27;</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment"># 访问字典的键、值、键值对</span></span><br><span class="line"><span class="built_in">print</span>(person.keys())    <span class="comment"># 获取所有键</span></span><br><span class="line"><span class="built_in">print</span>(person.values())  <span class="comment"># 获取所有值</span></span><br><span class="line"><span class="built_in">print</span>(person.items())   <span class="comment"># 获取所有键值对</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 遍历字典</span></span><br><span class="line"><span class="keyword">for</span> x, y <span class="keyword">in</span> person.items():</span><br><span class="line">    <span class="built_in">print</span>(x, <span class="string">&#x27;:&#x27;</span>, y)</span><br></pre></td></tr></table></figure><h3 id="知识点解析-5"><a href="#知识点解析-5" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>方法</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code>dict.keys()</code></td><td><code>dict_keys</code></td><td>返回所有键</td></tr><tr><td><code>dict.values()</code></td><td><code>dict_values</code></td><td>返回所有值</td></tr><tr><td><code>dict.items()</code></td><td><code>dict_items</code></td><td>返回所有键值对（元组形式）</td></tr><tr><td><code>dict[&#39;key&#39;]</code></td><td>对应的 value</td><td>通过键访问值</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>字典使用花括号 <code>{}</code> 定义，键值之间用冒号 <code>:</code> 分隔</li><li>键（key）必须是不可变类型（如字符串、数字、元组）</li><li><code>items()</code> 返回的是元组列表，可用<strong>解包</strong>语法 <code>for k, v in dict.items()</code> 遍历</li></ul><hr><h2 id="7-函数定义"><a href="#7-函数定义" class="headerlink" title="7. 函数定义"></a>7. 函数定义</h2><h3 id="学习目标-6"><a href="#学习目标-6" class="headerlink" title="学习目标"></a>学习目标</h3><p>掌握 Python 中自定义函数的定义方式，理解参数传递与返回值机制。</p><h3 id="核心代码-6"><a href="#核心代码-6" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">def</span> <span class="title function_">hello</span>(<span class="params">name</span>):</span><br><span class="line">    <span class="keyword">return</span> <span class="string">f&#x27;Hello, <span class="subst">&#123;name&#125;</span>&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(hello(<span class="string">&#x27;蔡徐坤&#x27;</span>))</span><br></pre></td></tr></table></figure><h3 id="知识点解析-6"><a href="#知识点解析-6" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>语法</th><th>说明</th></tr></thead><tbody><tr><td><code>def 函数名(参数):</code></td><td>定义函数</td></tr><tr><td><code>return 表达式</code></td><td>返回函数执行结果</td></tr><tr><td><code>函数名(实参)</code></td><td>调用函数并传入参数</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>使用 <code>def</code> 关键字定义函数</li><li>函数体必须缩进</li><li><code>return</code> 语句用于返回结果，若无 <code>return</code>，函数默认返回 <code>None</code></li><li>f-string 可以在 <code>return</code> 语句中使用，实现动态字符串拼接</li></ul><hr><h2 id="8-函数应用：数学运算"><a href="#8-函数应用：数学运算" class="headerlink" title="8. 函数应用：数学运算"></a>8. 函数应用：数学运算</h2><h3 id="学习目标-7"><a href="#学习目标-7" class="headerlink" title="学习目标"></a>学习目标</h3><p>通过实际案例理解函数的封装作用，将数学运算逻辑抽象为可复用的函数。</p><h3 id="核心代码-7"><a href="#核心代码-7" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">def</span> <span class="title function_">square</span>(<span class="params">x</span>):</span><br><span class="line">    <span class="keyword">return</span> x ** x</span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(square(<span class="number">100</span>))</span><br></pre></td></tr></table></figure><h3 id="知识点解析-7"><a href="#知识点解析-7" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>运算符</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>**</code></td><td>幂运算</td><td><code>2 ** 3 = 8</code></td></tr><tr><td><code>x ** x</code></td><td>x 的 x 次方</td><td><code>square(3)</code> 返回 27</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>将重复使用的逻辑封装成函数，提高代码复用性</li><li>函数命名应具有描述性，能反映其功能</li><li>注意：示例中 <code>x ** x</code> 计算的是 x 的 x 次方，而非平方（x²）</li></ul><hr><h2 id="9-类与面向对象"><a href="#9-类与面向对象" class="headerlink" title="9. 类与面向对象"></a>9. 类与面向对象</h2><h3 id="学习目标-8"><a href="#学习目标-8" class="headerlink" title="学习目标"></a>学习目标</h3><p>理解面向对象编程（OOP）的基本概念，掌握类的定义、初始化方法、实例方法的使用。</p><h3 id="核心代码-8"><a href="#核心代码-8" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">class</span> <span class="title class_">Calculator</span>:</span><br><span class="line">    <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self, num</span>):  <span class="comment"># 初始化方法，必须传参数 num</span></span><br><span class="line">        <span class="variable language_">self</span>.num = num</span><br><span class="line"></span><br><span class="line">    <span class="keyword">def</span> <span class="title function_">sum</span>(<span class="params">self</span>):</span><br><span class="line">        total = <span class="number">0</span></span><br><span class="line">        <span class="keyword">for</span> i <span class="keyword">in</span> <span class="variable language_">self</span>.num:</span><br><span class="line">            total += i</span><br><span class="line">        <span class="keyword">return</span> total</span><br><span class="line"></span><br><span class="line">    <span class="keyword">def</span> <span class="title function_">avg</span>(<span class="params">self</span>):</span><br><span class="line">        <span class="keyword">return</span> <span class="variable language_">self</span>.<span class="built_in">sum</span>() / <span class="built_in">len</span>(<span class="variable language_">self</span>.num)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 创建类的实例</span></span><br><span class="line">nums = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]</span><br><span class="line">calc = Calculator(nums)</span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(calc.<span class="built_in">sum</span>())  <span class="comment"># 输出：15</span></span><br><span class="line"><span class="built_in">print</span>(calc.avg())  <span class="comment"># 输出：3.0</span></span><br></pre></td></tr></table></figure><h3 id="知识点解析-8"><a href="#知识点解析-8" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>概念</th><th>说明</th></tr></thead><tbody><tr><td><code>class</code></td><td>定义类的关键字</td></tr><tr><td><code>__init__</code></td><td>构造方法，创建实例时自动调用</td></tr><tr><td><code>self</code></td><td>指向实例本身，类似其他语言的 <code>this</code></td></tr><tr><td><code>self.属性</code></td><td>实例属性，每个实例独有</td></tr><tr><td><code>实例.方法()</code></td><td>调用实例方法</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>类是对象的<strong>模板</strong>，实例是类的<strong>具体化</strong></li><li><code>__init__</code> 是特殊方法（魔术方法），用于初始化实例属性</li><li>类中所有方法的第一个参数必须是 <code>self</code></li><li>可以在一个方法中调用另一个方法：<code>self.sum()</code></li><li><code>len()</code> 函数返回列表的长度</li></ul><hr><h2 id="10-程序入口与模块化"><a href="#10-程序入口与模块化" class="headerlink" title="10. 程序入口与模块化"></a>10. 程序入口与模块化</h2><h3 id="学习目标-9"><a href="#学习目标-9" class="headerlink" title="学习目标"></a>学习目标</h3><p>理解 Python 程序的入口机制，掌握 <code>if __name__ == &#39;__main__&#39;:</code> 的作用与使用场景。</p><h3 id="核心代码-9"><a href="#核心代码-9" class="headerlink" title="核心代码"></a>核心代码</h3><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">def</span> <span class="title function_">print_hi</span>(<span class="params">name</span>):</span><br><span class="line">    <span class="built_in">print</span>(<span class="string">f&#x27;Hi, <span class="subst">&#123;name&#125;</span>&#x27;</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">&#x27;__main__&#x27;</span>:</span><br><span class="line">    print_hi(<span class="string">&#x27;PyCharm&#x27;</span>)</span><br></pre></td></tr></table></figure><h3 id="知识点解析-9"><a href="#知识点解析-9" class="headerlink" title="知识点解析"></a>知识点解析</h3><table><thead><tr><th>语法</th><th>说明</th></tr></thead><tbody><tr><td><code>__name__</code></td><td>特殊变量，表示当前模块名</td></tr><tr><td><code>&#39;__main__&#39;</code></td><td>当文件被直接运行时，<code>__name__</code> 的值</td></tr><tr><td><code>if __name__ == &#39;__main__&#39;:</code></td><td>仅在直接运行时执行，被导入时不执行</td></tr></tbody></table><p><strong>要点总结</strong>：</p><ul><li>当 <code>.py</code> 文件被<strong>直接运行</strong>时，<code>__name__</code> 等于 <code>&#39;__main__&#39;</code></li><li>当 <code>.py</code> 文件被<strong>作为模块导入</strong>时，<code>__name__</code> 等于模块名</li><li>这种写法常用于：<ul><li>编写可复用模块时，区分”被导入”和”直接执行”</li><li>在模块中添加测试代码，而不影响导入</li></ul></li></ul><hr><h2 id="学习小结"><a href="#学习小结" class="headerlink" title="学习小结"></a>学习小结</h2><p>本文涵盖了 Python 编程的基础核心知识点：</p><table><thead><tr><th>章节</th><th>核心内容</th></tr></thead><tbody><tr><td>输出语句</td><td><code>print()</code>、f-string 格式化</td></tr><tr><td>数据类型</td><td>str、int、float、bool</td></tr><tr><td>列表与元组</td><td>可变 vs 不可变序列</td></tr><tr><td>for 循环</td><td>遍历、<code>range()</code>、累加</td></tr><tr><td>条件判断</td><td>if-elif-else 分支结构</td></tr><tr><td>字典</td><td>键值对存储与遍历</td></tr><tr><td>函数</td><td>定义、参数、返回值</td></tr><tr><td>类</td><td>面向对象、<code>__init__</code>、实例方法</td></tr><tr><td>程序入口</td><td><code>__name__ == &#39;__main__&#39;</code></td></tr></tbody></table><hr><p><em>本文适用于 Python 3.x 版本。</em></p>]]></content>
    
    
    <summary type="html">系统整理 Python 基础知识点，涵盖输出、数据类型、列表、循环、条件判断、字典、函数与类等核心概念</summary>
    
    
    
    <category term="技术积录" scheme="https://fxdirection.github.io/categories/%E6%8A%80%E6%9C%AF%E7%A7%AF%E5%BD%95/"/>
    
    
    <category term="Python" scheme="https://fxdirection.github.io/tags/Python/"/>
    
    <category term="编程基础" scheme="https://fxdirection.github.io/tags/%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80/"/>
    
    <category term="学习笔记" scheme="https://fxdirection.github.io/tags/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/"/>
    
  </entry>
  
  <entry>
    <title>Conda 虚拟环境使用指南</title>
    <link href="https://fxdirection.github.io/2025/12/15/Conda%20%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83/"/>
    <id>https://fxdirection.github.io/2025/12/15/Conda%20%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83/</id>
    <published>2025-12-15T02:00:00.000Z</published>
    <updated>2026-02-23T12:33:02.368Z</updated>
    
    <content type="html"><![CDATA[<h1 id="1-什么是虚拟环境？"><a href="#1-什么是虚拟环境？" class="headerlink" title="1. 什么是虚拟环境？"></a>1. 什么是虚拟环境？</h1><p>在真实的 Python 开发中：</p><ul><li><p>项目 A 需要 <code>requests==2.28</code></p></li><li><p>项目 B 需要 <code>requests==2.10</code></p></li><li><p>项目 C 需要 Python 3.11</p></li><li><p>项目 D 需要 Python 3.8</p></li></ul><p>如果所有项目都使用同一套 Python 环境，会造成严重冲突。</p><hr><h2 id="为什么必须使用虚拟环境？"><a href="#为什么必须使用虚拟环境？" class="headerlink" title="为什么必须使用虚拟环境？"></a>为什么必须使用虚拟环境？</h2><ul><li><p>不同项目依赖互不影响</p></li><li><p>卸载项目变简单（删掉环境即可）</p></li><li><p>更适合协作（别人可以重建你的环境）</p></li><li><p>避免污染系统 Python</p></li><li><p>是专业开发者和开源项目的标准规范</p></li></ul><p> <strong>一个项目 &#x3D; 一个独立环境</strong><br> <strong>不要在 base 环境安装第三方包</strong></p><hr><h1 id="2-Conda-Anaconda-Miniconda-的区别"><a href="#2-Conda-Anaconda-Miniconda-的区别" class="headerlink" title="2. Conda &#x2F; Anaconda &#x2F; Miniconda 的区别"></a>2. Conda &#x2F; Anaconda &#x2F; Miniconda 的区别</h1><table><thead><tr><th>名称</th><th>作用</th><th>是否含 Python</th><th>是否含大量科学库</th></tr></thead><tbody><tr><td><strong>Conda</strong></td><td>环境管理 + 包管理工具</td><td>❌ 不含自身 Python</td><td>❌ 不含科学库</td></tr><tr><td><strong>Anaconda</strong></td><td>自带 Conda 的科学计算发行版</td><td>✔ 含</td><td>✔ 含（numpy、pandas…20+）</td></tr><tr><td><strong>Miniconda</strong></td><td>最简版的 Conda 发行版</td><td>✔ 含</td><td>❌ 不含科学库</td></tr></tbody></table><h3 id="通俗解释"><a href="#通俗解释" class="headerlink" title="通俗解释"></a>通俗解释</h3><ul><li><p><strong>Conda</strong> &#x3D; 工具（像 pip + venv 的合体）</p></li><li><p><strong>Anaconda</strong> &#x3D; 大礼包，自带 Conda 和大量库（巨肥但好用）</p></li><li><p><strong>Miniconda</strong> &#x3D; 清爽的小礼包，只带 Conda，不带库</p></li></ul><hr><h1 id="3-Conda-核心命令"><a href="#3-Conda-核心命令" class="headerlink" title="3. Conda 核心命令"></a>3. Conda 核心命令</h1><hr><h2 id="创建虚拟环境"><a href="#创建虚拟环境" class="headerlink" title="创建虚拟环境"></a>创建虚拟环境</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda create -n myenv python=3.10</span><br></pre></td></tr></table></figure><hr><h2 id="激活环境"><a href="#激活环境" class="headerlink" title="激活环境"></a>激活环境</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda activate myenv</span><br></pre></td></tr></table></figure><hr><h2 id="退出环境"><a href="#退出环境" class="headerlink" title="退出环境"></a>退出环境</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda deactivate</span><br></pre></td></tr></table></figure><hr><h2 id="安装包"><a href="#安装包" class="headerlink" title="安装包"></a>安装包</h2><p>推荐使用 pip：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pip install requests</span><br></pre></td></tr></table></figure><p>使用 conda 安装（适合 numpy、pandas 等）：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda install numpy</span><br></pre></td></tr></table></figure><hr><h2 id="查看环境列表"><a href="#查看环境列表" class="headerlink" title="查看环境列表"></a>查看环境列表</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda <span class="built_in">env</span> list</span><br></pre></td></tr></table></figure><hr><h2 id="删除环境"><a href="#删除环境" class="headerlink" title="删除环境"></a>删除环境</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda remove -n conda-demo --all</span><br></pre></td></tr></table></figure><hr><h2 id="导出环境（用于协作）"><a href="#导出环境（用于协作）" class="headerlink" title="导出环境（用于协作）"></a>导出环境（用于协作）</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda <span class="built_in">env</span> <span class="built_in">export</span> &gt; environment.yml</span><br></pre></td></tr></table></figure><hr><h2 id="从-environment-yml-重建环境"><a href="#从-environment-yml-重建环境" class="headerlink" title="从 environment.yml 重建环境"></a>从 environment.yml 重建环境</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda <span class="built_in">env</span> create -f environment.yml</span><br></pre></td></tr></table></figure><hr><h1 id="📌-4-VS-Code-Conda"><a href="#📌-4-VS-Code-Conda" class="headerlink" title="📌 4. VS Code + Conda"></a>📌 4. VS Code + Conda</h1><hr><h2 id="✔-Step-1：激活环境"><a href="#✔-Step-1：激活环境" class="headerlink" title="✔ Step 1：激活环境"></a>✔ Step 1：激活环境</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conda activate myenv</span><br></pre></td></tr></table></figure><hr><h2 id="✔-Step-2：进入项目目录"><a href="#✔-Step-2：进入项目目录" class="headerlink" title="✔ Step 2：进入项目目录"></a>✔ Step 2：进入项目目录</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> myproject</span><br></pre></td></tr></table></figure><hr><h2 id="✔-Step-3：打开-VS-Code（关键）"><a href="#✔-Step-3：打开-VS-Code（关键）" class="headerlink" title="✔ Step 3：打开 VS Code（关键）"></a>✔ Step 3：打开 VS Code（关键）</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">code .</span><br></pre></td></tr></table></figure><p>VS Code 会自动检测当前 Conda 环境。</p><hr><h2 id="✔-Step-4：选择-Python-解释器（如未自动识别）"><a href="#✔-Step-4：选择-Python-解释器（如未自动识别）" class="headerlink" title="✔ Step 4：选择 Python 解释器（如未自动识别）"></a>✔ Step 4：选择 Python 解释器（如未自动识别）</h2><p>左下角点击 Python 版本 → 选择：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Python 3.10 (&#x27;myenv&#x27;)</span><br></pre></td></tr></table></figure><p>现在：</p><table><thead><tr><th>运行程序</th><th>🚀 使用的是 Conda 环境</th></tr></thead></table><hr><h1 id="📌-5-environment-yml-示例"><a href="#📌-5-environment-yml-示例" class="headerlink" title="📌 5. environment.yml 示例"></a>📌 5. environment.yml 示例</h1><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">webscraper</span></span><br><span class="line"><span class="attr">channels:</span></span><br><span class="line">  <span class="bullet">-</span> <span class="string">defaults</span></span><br><span class="line"><span class="attr">dependencies:</span></span><br><span class="line">  <span class="bullet">-</span> <span class="string">python=3.10</span></span><br><span class="line">  <span class="bullet">-</span> <span class="string">pip</span></span><br><span class="line">  <span class="bullet">-</span> <span class="attr">pip:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">requests</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">beautifulsoup4</span></span><br></pre></td></tr></table></figure><p>使用方法：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">conda <span class="built_in">env</span> create -f environment.yml</span><br><span class="line">conda activate webscraper</span><br></pre></td></tr></table></figure><hr><h1 id="📌-6-一个专业项目应该长这样（仓库模板）"><a href="#📌-6-一个专业项目应该长这样（仓库模板）" class="headerlink" title="📌 6. 一个专业项目应该长这样（仓库模板）"></a>📌 6. 一个专业项目应该长这样（仓库模板）</h1><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">conda-demo/</span><br><span class="line">│</span><br><span class="line">├── environment.yml          # 环境定义</span><br><span class="line">├── README.md                # 文档</span><br><span class="line">├── .gitignore               # 忽略虚拟环境</span><br><span class="line">│</span><br><span class="line">├── src/</span><br><span class="line">│   └── main.py              # 入口程序</span><br><span class="line">│</span><br><span class="line">├── scripts/</span><br><span class="line">│   ├── setup_env.sh         # Linux/Mac 自动创建环境</span><br><span class="line">│   └── setup_env.bat        # Windows 自动创建环境</span><br><span class="line">│</span><br><span class="line">└── data/                    # 可选数据目录</span><br></pre></td></tr></table></figure><hr><h1 id="📌-7-main-py-示例（跑得通的最小程序）"><a href="#📌-7-main-py-示例（跑得通的最小程序）" class="headerlink" title="📌 7. main.py 示例（跑得通的最小程序）"></a>📌 7. main.py 示例（跑得通的最小程序）</h1><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> requests</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">main</span>():</span><br><span class="line">    <span class="built_in">print</span>(<span class="string">&quot;Conda 环境运行正常！&quot;</span>)</span><br><span class="line">    <span class="built_in">print</span>(<span class="string">&quot;Requests 版本：&quot;</span>, requests.__version__)</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">&quot;__main__&quot;</span>:</span><br><span class="line">    main()</span><br></pre></td></tr></table></figure><p>运行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">python src/main.py</span><br></pre></td></tr></table></figure><hr><h1 id="📌-8-速查表"><a href="#📌-8-速查表" class="headerlink" title="📌 8. 速查表"></a>📌 8. 速查表</h1><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br></pre></td><td class="code"><pre><span class="line">==============================</span><br><span class="line">         Conda 速查表</span><br><span class="line">==============================</span><br><span class="line"></span><br><span class="line"># 创建环境</span><br><span class="line">conda create -n myenv python=3.10</span><br><span class="line"></span><br><span class="line"># 激活环境</span><br><span class="line">conda activate myenv</span><br><span class="line"></span><br><span class="line"># 退出环境</span><br><span class="line">conda deactivate</span><br><span class="line"></span><br><span class="line"># 删除环境</span><br><span class="line">conda remove -n myenv --all</span><br><span class="line"></span><br><span class="line"># 列出全部环境</span><br><span class="line">conda env list</span><br><span class="line"></span><br><span class="line"># 查看当前环境包</span><br><span class="line">conda list</span><br><span class="line"></span><br><span class="line"># 安装包</span><br><span class="line">pip install 包名</span><br><span class="line">conda install 包名</span><br><span class="line"></span><br><span class="line"># 导出环境</span><br><span class="line">conda env export &gt; environment.yml</span><br><span class="line"></span><br><span class="line"># 从 environment.yml 重建</span><br><span class="line">conda env create -f environment.yml</span><br><span class="line"></span><br><span class="line">==============================</span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">详细介绍 Conda 虚拟环境的概念、安装配置及常用命令，帮助你管理 Python 项目依赖</summary>
    
    
    
    <category term="技术积录" scheme="https://fxdirection.github.io/categories/%E6%8A%80%E6%9C%AF%E7%A7%AF%E5%BD%95/"/>
    
    
    <category term="Python" scheme="https://fxdirection.github.io/tags/Python/"/>
    
    <category term="Conda" scheme="https://fxdirection.github.io/tags/Conda/"/>
    
    <category term="虚拟环境" scheme="https://fxdirection.github.io/tags/%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83/"/>
    
    <category term="开发工具" scheme="https://fxdirection.github.io/tags/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    
  </entry>
  
  <entry>
    <title>我的第一篇博客文章</title>
    <link href="https://fxdirection.github.io/2025/12/09/%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0/"/>
    <id>https://fxdirection.github.io/2025/12/09/%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0/</id>
    <published>2025-12-08T16:20:06.000Z</published>
    <updated>2026-02-23T16:11:59.820Z</updated>
    
    <content type="html"><![CDATA[<p>你好！这是用Hexo制作的第一个博客文章。<br>在这里我将简单分享自己的技术路线，感谢您的观看！</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;你好！这是用Hexo制作的第一个博客文章。&lt;br&gt;在这里我将简单分享自己的技术路线，感谢您的观看！&lt;/p&gt;
</summary>
      
    
    
    
    
    <category term="博客" scheme="https://fxdirection.github.io/tags/%E5%8D%9A%E5%AE%A2/"/>
    
    <category term="Hexo" scheme="https://fxdirection.github.io/tags/Hexo/"/>
    
  </entry>
  
</feed>
