Swampy Python是什么?swampy python安装教程

Swampy 是 Python 编程初学者非常经典的一个图形库,由著名编程教育家 Allen B. Downey(《Think Python》作者)开发。

它基于 Turtle 图形库进行了封装,旨在让初学者更容易地学习编程概念(如函数、循环、递归、类等),同时绘制出有趣的图形。

【最全Python安装教程】二、没有勾选添加Path的情况下安装Python
加载中
【最全Python安装教程】二、没有勾选添加Path的情况下安装Python

📌 核心特点

  1. 简化 Turtle 接口:Swampy 将原始的 Turtle 操作简化为更直观的命令。
  2. 面向对象设计:每个绘图对象是一个类(如 World, Canvas, Turtle),便于理解 OOP。
  3. 专为教学设计:配套 Allen Downey 的《Think Python》教材,适合零基础入门。
  4. 支持多种图形:除了线条和形状,还支持绘制图像、动画等。

📥 安装 Swampy

⚠️ 注意:Swampy 较老,可能不兼容最新版本的 Python(如 3.10+),建议使用 Python 3.6–3.9 或尝试兼容版本。

Swampy Python是什么?swampy python安装教程

pip install swampy

如果安装失败,可以尝试从 GitHub 下载源码安装:

git clone https://github.com/AllenDowney/Swampy.git
cd Swampy
pip install .

🚀 快速开始示例

基础绘图:画一个正方形

from swampy.TurtleWorld import 
# 创建世界和乌龟
world = World()
bob = Turtle()
# 让乌龟前进并左转,画正方形
for _ in range(4):
    fd(bob, 100)   # fd = forward,前进100步
    lt(bob, 90)    # lt = left turn,左转90度
# 保持窗口打开
wait_for_user()

使用 Canvas 绘制图像

from swampy.Canvas import 
# 创建画布
canvas = Canvas(width=400, height=400, bg='white')
# 绘制一个红色圆形
canvas.circle([0, 0], 100, fill='red', outline='black')
# 绘制一个蓝色矩形
canvas.rectangle([[-100, -100], [100, 100]], fill='blue', outline='green')
# 显示画布
canvas.mainloop()

Swampy Python是什么?swampy python安装教程

递归绘图:科赫雪花(Koch Snowflake)

from swampy.TurtleWorld import 
def koch(t, n):
    """画一个科赫曲线,长度为n"""
    if n < 3:
        fd(t, n)
        return
    m = n / 3.0
    koch(t, m)
    lt(t, 60)
    koch(t, m)
    rt(t, 120)
    koch(t, m)
    lt(t, 60)
    koch(t, m)
world = World()
bob = Turtle()
bob.delay = 0.01  # 加快速度
# 画一个科赫雪花
for _ in range(3):
    koch(bob, 300)
    lt(bob, 120)
wait_for_user()

📚 主要模块

Swampy Python是什么?swampy python安装教程

模块 功能
TurtleWorld 基础绘图,适合初学者学习控制流和函数
Canvas 更强大的图形绘制,支持颜色、填充、图像
GUI 创建简单图形用户界面(按钮、文本框等)
Poker 扑克牌游戏示例,学习对象和状态管理
World 模拟世界,用于游戏或动画开发

💡 学习建议

  1. 搭配《Think Python》阅读:Swampy 是该书的官方配套库,书中每章都有对应练习。
  2. 从简单开始:先掌握 fd, lt, rt, bk 等基本命令。
  3. 尝试修改参数:改变颜色、速度、形状,观察效果。
  4. 探索递归:Swampy 非常适合演示递归图形(如分形树、雪花)。

❓ 常见问题

Q: Swampy 在 Python 3.10+ 上无法安装怎么办?
A: 可以尝试使用 pip install swampy==2.1.0,或改用 turtle 标准库,Swampy 是对 turtle 的封装,功能可替代。

Q: 为什么我的图形窗口打不开?
A: 确保已调用 wait_for_user()mainloop(),否则程序会立即退出。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/477543.html

(0)
为什么你的百度排名上不去?百度SEO长尾词优化技巧
上一篇 2026年7月10日 02:00
互联网BI分析软件怎么用?企业数据分析平台选型指南
下一篇 2026年6月3日 05:21

相关推荐

  • python trigram是什么?python三字母组怎么用

    Python trigram(三元组)是处理文本相似度、拼写纠错及短文本匹配的高效算法,通过滑动窗口提取连续三个字符或词,能在保证计算速度的同时显著提升模糊匹配的准确率,特别适合中文语境下的非精确检索场景,在自然语言处理领域,当面对海量非结构化文本时,传统的精确匹配往往显得力不从心,比如用户搜索“苹果”时,可能……

    2026年7月8日
    11900
  • 服务器开年采购季1折狂欢,服务器采购去哪买便宜?

    企业在年初进行IT基础设施规划时,选择在服务器开年采购季1折狂欢活动期间下单,是降低TCO(总拥有成本)、获取高性价比算力资源的最佳战略窗口,这一时机不仅能够大幅削减硬件采购预算,更能通过厂商提供的专业服务与升级权益,为全年业务稳定运行奠定坚实基础,核心结论:抓住开年采购窗口,实现成本与性能的双重收益服务器作为……

    2026年3月27日
    9500
  • 服务器怎么开端口监听?服务器端口监听详细步骤教程

    服务器开启端口监听的核心在于正确配置防火墙规则与部署监听服务,两者缺一不可,仅开放防火墙而无服务监听,端口状态显示为“filtered”或“closed”;仅运行服务而未放行防火墙,外部流量无法抵达,高效、安全的端口监听流程必须遵循“先部署服务,后配置防火墙,再验证状态”的闭环逻辑,确保业务可达性与系统安全性并……

    2026年3月21日
    10200
  • 个人注册域名怎么选?域名注册有什么注意事项

    个人注册域名时,建议优先选择.com或.cn后缀,若预算有限且注重性价比,可考虑新顶级域名如.xyz或.top,但需警惕其品牌信任度较低的风险,域名不仅是网站的地址,更是你在互联网上的数字门牌号,对于个人而言,选择一个合适的域名,往往决定了访客对你的第一印象,也影响着搜索引擎对你网站权重的初始评估,在2026年……

    2026年5月28日
    4500
  • 服务器开通ftp远程,服务器ftp远程怎么开通

    服务器开通FTP远程服务,本质上是建立一条安全、高效的文件传输通道,其核心在于平衡便捷性与安全性,最稳妥的方案是采用SFTP协议或显式FTPS协议,配合最小化权限原则与防火墙策略,而非简单的开启21端口, 许多用户在配置时往往只关注连通性,忽略了传输过程中的明文泄露风险,这是生产环境中的大忌,正确的配置流程应遵……

    2026年3月25日
    12000
  • 服务器怎么改端口?Windows和Linux修改端口号详细步骤

    修改服务器端口是提升系统安全性的第一道防线,核心结论在于:修改端口必须遵循“备份配置、精准定位、修改参数、配置防火墙、重启服务”的标准流程,缺一不可,许多管理员仅仅修改了服务配置而忽略了防火墙放行,导致服务无法访问,端口修改的本质是将服务监听的TCP/UDP端口号从默认值迁移至自定义值,以此规避自动化扫描工具的……

    2026年3月14日
    17300
  • 服务器应用范围有哪些,服务器主要应用领域详解

    服务器作为现代数字基础设施的核心载体,其应用范围早已突破了单纯的网站托管局限,渗透至社会生产生活的方方面面,核心结论在于:服务器的应用范围决定了企业数字化转型的深度与广度,从基础互联网服务到高性能计算,再到边缘计算节点,其部署形态与功能定位直接关联业务效率与数据价值,理解服务器的应用场景,是构建高效、稳定IT架……

    2026年4月6日
    8100
  • 防火墙负载均衡技术原理及应用,如何实现高效网络防护?

    防火墙负载均衡通过将网络流量智能分配到多个防火墙节点,在提升处理性能的同时保障高可用性,其核心在于打破单点瓶颈,构建一个既能防御威胁又能高效转发数据的协同系统,确保业务连续性与安全防护并重, 防火墙负载均衡的核心价值传统单防火墙部署面临性能上限与单点故障两大风险,当网络流量超过其处理能力时,会成为瓶颈,导致延迟……

    2026年2月3日
    15430
  • 个人网站免费空间真的存在吗?个人网站免费空间

    个人网站免费空间是低成本启动博客或展示页的最佳选择,但需接受其稳定性低、功能受限及存在广告等现实条件,在2026年的互联网生态中,构建个人数字资产的方式发生了微妙变化,虽然云计算服务日益普及,但对于初学者、学生或仅用于记录生活的个人用户而言,寻找个人网站免费空间依然是降低试错成本的首选方案,这并非意味着免费资源……

    服务器运维 2026年5月25日
    3300
  • 服务器怎么关闭防火墙设置在哪?Windows和Linux关闭防火墙命令是什么

    关闭服务器防火墙是解决端口不通、服务无法访问等网络连通性问题的最直接手段,核心操作路径通常位于操作系统的“控制面板”或通过“命令行终端”执行,对于Windows服务器,核心设置位于“高级安全Windows Defender防火墙”管理单元;对于Linux服务器,核心设置则集中在firewalld或iptable……

    2026年3月19日
    9800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注