← 返回课程主页
D

🌱 方向D 语言实战 — Python + Go 常用知识

🐍 Python实战 🏎️ Go入门 💻 双语言打天下
🎯 目标:掌握Python和Go的核心实战技能——Python负责脚本/AI/数据分析,Go负责高性能API/微服务。两个语言相辅相成。
🐍 Python适合AI/数据分析/自动化脚本/Web后端
🏎️ Go适合高并发API/微服务/云原生工具/CLI
🐍 Python实战 6个必会技能

📥 文件与数据处理 基础

open()csvjsonos
读/写文件、CSV/JSON/Excel处理、路径操作、批量重命名。每个统计工作者每天都在用。
📋 常用代码片段
import csv, json, pandas as pd # 读CSV with open('数据.csv', encoding='utf-8') as f: reader = csv.DictReader(f) rows = list(reader) # 写JSON with open('输出.json', 'w', encoding='utf-8') as f: json.dump(rows, f, ensure_ascii=False, indent=2) # 读Excel df = pd.read_excel('报表.xlsx') print(df.describe()) # 自动统计
📦 pip install pandas openpyxl

🌐 网络请求与API 基础

requestsurllibAPI调用
调第三方API、爬取网页、对接DeepSeek/OpenAI等AI接口。能和你的reports-api无缝对接。
📋 常用代码片段
import requests # GET请求 resp = requests.get('https://api.example.com/data', headers={'Authorization': 'Bearer YOUR_KEY'}) data = resp.json() # POST 调用AI resp = requests.post('https://api.deepseek.com/chat/completions', json={'model':'deepseek-chat','messages':[ {'role':'user','content':'你好'}' ]}, headers={'Authorization':'Bearer sk-xxx'}) print(resp.json()['choices'][0]['message']['content'])

📊 数据可视化 基础

matplotlibpyecharts
用Python生成图表——折线图、柱状图、饼图。把统计数据变成直观的可视化报告。
📋 常用代码片段
import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.sans-serif'] = ['SimHei','PingFang SC'] # 柱状图 years = ['2021','2022','2023','2024'] values = [168, 185, 203, 215] plt.bar(years, values, color=['#7aa87a','#7a9fb5','#c8a96e','#c48a6e']) plt.title('保康县GDP趋势(亿元)') plt.savefig('gdp_trend.png', dpi=200) # 保存图片 plt.show()

🤖 AI应用开发 进阶

openailangchaindify api
调LLM做文本分析、RAG知识库问答、AI自动化流程。和你现有的Dify平台无缝结合。
📋 常用代码片段
from openai import OpenAI client = OpenAI( base_url='https://api.deepseek.com', api_key='sk-xxx' ) # 文本分析 resp = client.chat.completions.create( model='deepseek-chat', messages=[{'role':'user', 'content':'分析这段文本的核心观点:' + text}] ) print(resp.choices[0].message.content)

⚡ 自动化脚本 进阶

schedulewatchdogsubprocess
定时任务、文件监控、批量处理、自动报表生成。让你每天省下2小时重复劳动。
📋 常用代码片段
import schedule, time def 生成日报(): # 你的自动报表逻辑 print('✅ 日报已生成') # 每个工作日9点执行 schedule.every().monday.at('09:00').do(生成日报) schedule.every().tuesday.at('09:00').do(生成日报) # 或每分钟执行 schedule.every(1).minutes.do(生成日报) while True: schedule.run_pending() time.sleep(30)

🏗️ Web后端 高阶

FastAPIuvicorn
用FastAPI搭建RESTful API——你的reports-api如果重写最佳选择。自动生成Swagger文档、类型校验、异步支持。
📋 快速上手
from fastapi import FastAPI from pydantic import BaseModel app = FastAPI(title='数据API') class 数据(BaseModel): name: str value: float @app.get('/api/reports') def 获取报表(): return {'reports': [...]} @app.post('/api/analyze') def 分析数据(data: 数据): return {'result': f'收到{data.name},值{data.value}'} # 运行: uvicorn main:app --reload # 文档自动生成: http://localhost:8000/docs
🏎️ Go语言 4个实战场景

🚀 高性能HTTP服务器 基础

net/httpgin
Go标准库自带HTTP server,无需框架也能跑。编译成单文件部署,零依赖。
📋 常用代码片段
package main import ( "encoding/json" "fmt" "net/http" ) type Report struct { ID int `json:"id"` Name string `json:"name"` Value float64 `json:"value"` } func main() { http.HandleFunc("/api/reports", func(w http.ResponseWriter, r *http.Request) { reports := []Report{{1, "GDP", 215.47}} json.NewEncoder(w).Encode(reports) }) fmt.Println("Server on :8080") http.ListenAndServe(":8080", nil) } // 编译:go build -o server main.go // 运行:./server(单文件,无需Python环境)

⚡ 并发处理 基础

goroutinechannel
Go最核心的优势——轻量级并发。同时处理1000个请求不费力,比Python快10倍以上。
📋 常用代码片段
package main import ( "fmt" "sync" "time" ) func fetch(url string, wg *sync.WaitGroup) { defer wg.Done() fmt.Println("请求:", url) time.Sleep(100 * time.Millisecond) } func main() { urls := []string{"api1", "api2", "api3", "api4"} var wg sync.WaitGroup for _, url := range urls { wg.Add(1) go fetch(url, &wg) // 并发执行 } wg.Wait() // 等待所有完成 fmt.Println("✅ 全部完成") } // 4个请求同时执行,总耗时≈100ms // Python串行版≈400ms+

🔧 命令行工具 进阶

cobraos/exec
用Go写CLI工具——跨平台单文件,发出去就能用。Docker/K8s/Terraform都是Go写的CLI。
📋 快速上手
package main import ( "flag" "fmt" ) func main() { name := flag.String("name", "保康", "报表名称") year := flag.Int("year", 2026, "年份") flag.Parse() fmt.Printf("📊 %s %d年统计报表\n", *name, *year) fmt.Println("使用方式:") fmt.Println(" ./report --name=GDP --year=2025") } // 编译:GOOS=windows GOARCH=amd64 go build // → 发给同事的Windows电脑直接运行,无需装Python

🔌 数据库操作 进阶

database/sqlgorm
Go连接SQLite/PostgreSQL/MySQL,类型安全。你的reports-api如果用Go重写,性能提升5-10倍。
📋 常用代码片段
import ( "database/sql" _ "github.com/mattn/go-sqlite3" ) type Report struct { ID int `json:"id"` Name string `json:"name"` Val float64 `json:"val"` } func main() { db, _ := sql.Open("sqlite3", "reports.db") rows, _ := db.Query("SELECT id, name, val FROM reports") for rows.Next() { var r Report rows.Scan(&r.ID, &r.Name, &r.Val) fmt.Printf("%d: %s = %.2f\n", r.ID, r.Name, r.Val) } }
📐 数据结构与算法 10个精选资源
无论Python还是Go,数据结构是编程的"内功"。下面是精选的免费中文资源,📖 理论 + 🛠️ 实战两步走。
🧭 数据结构两周速通 → 📖 第1周:Hello算法 1-3章 + VisuAlgo 🖥️ 第2周:Hello算法 4-5章 + 代码随想录5题 ⚡ 持续:LeetCode每日1题
📗 hello-algo.com 🎮 visualgo.net/zh 📚 programmercarl.com
📖 理论入门 5个理论/视频教程 点击展开全部

📗 Hello 算法 入门动画图解 Python/Go/Java

动画图解、一键运行代码。对初学者最友好,没有之一。每节都有动画+可运行代码,手机上也能看。
📖 在线阅读 + 学习路线

🔗 https://www.hello-algo.com/

学习路线:

  1. 第1章 引言(什么是数据结构与算法)
  2. 第2章 复杂度分析(时间和空间,面试必考)
  3. 第3章 数据结构基础(数组、链表、栈、队列)
  4. 第4章 树与图(二叉树、图的遍历)
  5. 第5章 搜索与排序(二分查找、快速排序)

🎬 浙大数据结构(陈越·何钦铭) 入门B站免费 MOOC

中国MOOC最经典的数据结构课程,系统性极强。虽然用C语言讲,但逻辑和思路完全通用。
📖 观看地址

🔗 B站免费观看 →

学习建议:跟着做课后作业,别只看视频。每章花1-2天消化。

替代选择:清华邓俊辉版(更深入)→ icourse163.org

🎮 VisuAlgo 算法可视化 基础交互式动画 中文

新加坡国立大学出品。排序、搜索、树、图——每一步动效+伪代码对照,看不懂文字也能看懂动画。
📖 使用技巧

🔗 https://visualgo.net/zh

推荐把玩顺序:

  1. 排序 → 选一种排序算法看动画
  2. 链表 vs 数组 → 操作步骤对比
  3. 二叉搜索树 → 插入/删除/查找动画
  4. 图 → BFS/DFS遍历可视化

💡 先看动画理解过程 → 再看代码实现 → 自己写一遍

📚 代码随想录 基础LeetCode版 Python/图文

配合LeetCode实战的算法教程。从数组、链表到动态规划,每道题都有多种解法+复杂度分析,循序渐进。
📖 在线访问

🏆 OI Wiki 算法竞赛百科 进阶ACM/NOI 模板代码

信息学竞赛百科全书。从基础数据结构到高级算法(线段树、KMP、网络流),配有可直接复制的模板代码。
📖 查阅方式

🔗 https://oi-wiki.org/

推荐查阅路线:基础→搜索→字符串→图论

💡 初学者不用全看,需要查某个算法时来这里搜,比百度准确

🛠️ 实战练习 5个代码/刷题/可视化工具 点击展开全部

🐍 Python Tutor 入门代码逐行可视化

把代码贴进去就能看到每一步变量的变化。理解链表反转、递归调用栈的神器。
📖 使用方式

🔗 https://pythontutor.com/

入门练习:

  1. 贴上链表反转代码 → 看指针怎么移动
  2. 贴上二叉树遍历代码 → 看递归调用栈
  3. 贴上快排代码 → 看分治过程展开

💡 用眼睛看懂 → 自己写一遍 → 记忆最深

🛠️ Labuladong算法小抄 基础GitHub 127k⭐ 解题框架

不是堆题,而是教你"做题套路"——每种数据结构对应固定解题框架,学会了直接套用。
📖 在线阅读 + 框架示例

🔗 labuladong.online/algo/

特色框架教学:

  1. 二叉树遍历框架(前序/中序/后序统一写法)
  2. 双指针技巧框架(快慢/左右/滑动窗口)
  3. 回溯算法框架(决策树模型)
  4. 动态规划框架(状态转移方程模板)

📌 适合已看过Hello算法、有基础后刷题时对照

🔗 GitHub:github.com/labuladong/fucking-algorithm

⚡ LeetCode / 牛客网 进阶在线编程 社区题库

学完理论后必须刷题巩固。LeetCode有中文社区+探索卡片,牛客网有专项练习+笔试真题。
📖 刷题指南

🔗 LeetCode 中文站

🔗 牛客网

刷题顺序(按数据结构):

  1. 数组 → 链表 → 哈希表 → 字符串(基础)
  2. 栈/队列 → 二叉树 → 堆(进阶)
  3. 排序算法 → 搜索 → 递归回溯(高阶)
  4. 动态规划(选做,面试高频)

🎯 洛谷 分类题单刷题 高阶OJ判题 社区题解

国内最大OJ,有"题单"功能按知识点分类刷题。比LeetCode更适合系统训练,每道题都有讨论区和多种题解。
📖 刷题指南

🔗 https://www.luogu.com.cn/

推荐刷题顺序:新手村→排序→搜索→数据结构→图论

💡 做完可以看题解区的不同思路,学到多种解法

🎯

先学Python,再学Go

Python 1-2个月上手做项目 → Go 2-3个月补性能短板。Python负责AI/脚本/原型,Go负责高性能API/微服务,双剑合璧。

🐍 Python:数据/AI/脚本/FastAPI 🏎️ Go:API/微服务/CLI/并发