前言

我为什么会接触Python?

小元是开发驱动底层的,比驱动还底层,没错就是底层设备内部程序。驱动层以下都是 C 的天下, 我为什么会接触到 Python?

2010 年的时候, 那时候 python 还没火, 那时候我就跟着MIT公开课认识了python。

2018 年,在我的客户那里看到客户测试我们的eMMC 存储器,用的是python, 可直接执行单个测试用例,给我的感触很大。因为在这之前我的上层软件都是 C++ 写的, 修改测试用例后,需要把整个项目编译一遍,Time is too long。

小元感觉到 python 是新趋势,觉得要学好 Python 了~

1. Python

如何让电脑理解我的python语言

在 w3cschool 课堂学了点Python 语法, 小元决定要小试牛刀了。

美好的编程从 “Hello World 开始”。

我应该先找个翻译,没错,就是将我的代码翻译给机器来执行。 看来先要装一个 python 软件。

Python 是很容易理解, 上手简单。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

新问题
理论上我可以在这个黑框中,一行一行敲入我想执行的任何指令。不过这样效率太低了。 如果我敲错一句话, 就要重复把前面的语句再输入一遍。

2. Notepad++

我可以建立一个 .py 文件啊。 编辑 .py 我选择 NotePad++

可以高亮文字,突出函数和变量,可读性好多了。
Notepad++ 不仅有语法高亮度显示,也有语法折叠功能, 还是免费的。

装了 Notepad++,不光编程时候可用,平常编写文档/搜索文字也超方便。

新问题:
代码显示解决了, 可代码编译还是要在这个黑框里一步一步敲。Python 这个界面就像 DOS 界面一样,丑爆了。

3. PyCharm

有没有又好用、又好上手的集成 IDE ?
有的,PyCharm 登场了。

PyCharm是一种Python IDE(集成开发环境),可以帮助小元在开发时提高效率,比如调试、语法高亮、智能提示。

说到这个智能提示就很有意思, 当代码有语法错误,它会建议你怎么修复。当有package 没有包含时, PyCharm 也会提示,可以一键 install package。真是一个好帮手。

新需求
玩了一段时间,小元已经不满足于写个 hello world, 写个排序算法了。能不能用python做点好玩的? 比如写个游戏。

我明明可以凭实力从无到有,构建一个游戏大厦的。但我偏不,所谓站在巨人的肩膀上,才能看得更远。这个“巨人”就是 Pygame

4. Pygame

如果用 Python 做点好玩的

Pygame包含图像、声音。游戏研发无需被低级语言(如机器语言和汇编语言)束缚。所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身。小元只需关注游戏规则即可。

Pygame 让游戏开发像比写个冒泡排序还简单,瞧瞧这多有趣。如果你会美工,自己可以做漂亮的图就更美轮美奂了。

新问题
欢乐是欢乐,但我也有一个快乐的烦恼。

5. Source Insight

随着功能越来越多,代码工程也越来越复杂, 代码文件、资源、函数、变量数目成千上百地增加。这时候搜索变量引用,函数调用层级就很头疼。坦白讲 PyCharm 在这方面很不灵活。

代码如何高效地阅读/查找代码
还好我找到一个好帮手, Source Insight.

Source Insight是项目开发的程序编辑器和代码浏览器。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。

            # 子弹碰钢板if tank_player.bullet.stronger:if pygame.sprite.spritecollide(tank_player.bullet, map_stage.ironGroup, True, None):tank_player.bullet.being = Falseelse:if pygame.sprite.spritecollide(tank_player.bullet, map_stage.ironGroup, False, None):tank_player.bullet.being = False

想知道哪里引用了子弹的 stronger (超强子弹可穿钢板)属性, 就可以一键全搜出来。

6. UltraCompare

代码备份与差异对比

如果改代码怕改错了怎么办? 有时候我们可能加个调试代码,有时候修个缺陷,有时候改个新特性, 又或者重构下代码?
但是糟糕, 第二天忘记改了啥了。。。

咋办呀? 今天把代码备份下, 或者在修改之前, 把当前正常运行正常的代码备份下。 文件夹A 复制一个副本 文件夹B. 就可以用 UltraCompare 比较了。

一天两天备份文件夹还行,如果几个月每天备份, 又或者每天修改多个功能? 这么多文件夹就凌乱了。 而且回退代码要一行一行复制粘贴回去,多麻烦了?
有咩有好的代码版本管理工具?

7. TortoiseSVN

因为公司用的代码管理工具是TortoiseSVN(简称 SVN), 第一个想到的是在家里电脑装一个Subversion 客户端 TortoiseSVN。

TortoiseSVN 的确是很强大,使用也很方便。下载Checkout、更新 Update、提交 Commit,日常学会这三个命令就可以了。

但一般要搭建代码服务器,TortoiseSVN 安装包也不是很好得到。

小元这就放弃了? 不存在的。

8. GitCode

小元经常在 CSDN, CSDN 有一个 GitCode 入口, 直达GitCode, 共用账密。 这不就是我要的代码管理工具吗?

真是踏破铁鞋无觅处,得来全不费功夫。



用上GitCode, 小元什么时候改了什么代码, 为什么修改, 都可一目了然

这个还允许我和我的伙伴们一起编写同一份项目代码, 优秀吧。

GitCode 怎么用? 小元教你
GIT教程(图文版)— 注册、安装、代码管理(项目创建、密钥、下载、提交,协作), 一一分解

9. 云 IDE

如何让我的小伙伴和我同步环境?

小元和伙伴们都在开发这个项目,即便是个人兴趣项目,我们还是遇到了一个困难。

新问题:
小元这边的程序运行好好的,上传GitCode 后。
小元的伙伴运行不起来,排查发现是IDE 不一致。
小元的伙伴运行出错, 排查是缺少package。

这种问题说起来小,但排查可是很费时间和脑细胞。小元不想再被这个问题纠缠了, 找到了一个外援——云IDE

GIT项目地址 https://gitcode.net/vagrant0407/tank_pygame
前面加 ide 改成
https:// ide\color {#FF6D00}{ide}idegitcode.net/vagrant0407/tank_pygame

就打开我的 CSDN 云IDE 了。

云IDE 就是小元不需要在本地安装 IDE, 服务器上有集成 VSCode IDE(继承了很多语言的IDE), 省掉小元找安装包、安装、配置。

小元可以在线编译。哪天小元换了台电脑, 也不需重新装编译环境了。

云 IDE 有很多智能的快捷操作, 比如自动对齐,体验很好。云 IDE 的使用习惯和本地 IDE 使用习惯近乎相同。

云 IDE 还是一个新生事物,小元也在体验和探索中~

10. CSDN Blog

写在最后的话 —— 项目复盘
就像是我今天捡到一片枫叶,又像是我明天拾到一颗枝桠。这些积攒的枫叶、枝桠就只能是一堆柴火。 如果我跳出漂亮、奇特的枝叶,摆列、粘合,它们便能成为一件艺术品(树)。

​编程学习或工作的点点滴滴,也就像枝叶,如果不时常总结复盘,让知识点更有逻辑,更有条理,我们便会遗忘。学习的收益便大打折扣。

我会用记事本记录点滴, 记得多了, 针对某个专题就可以写博客记录分享, 像是 CSDN、头条都是很好的博客网站。

猿创征文 | Python 开发工具进化之旅相关推荐

  1. 猿创征文|产品工具-面向综合效能提升的工具库

    引言 作为一名从软件工程师出身的产品,一个软件或者产品的上限是由开发者和设计者本身的综合素养和能力决定的,而下限是由团队的综合效能的产出去决定的,君子不器体现了以人为本的核心思想,善假于物是在了解了工 ...

  2. 猿创征文|数据开发也能双轮驱动?

    本篇文章主要讲解DataFactory的维度建模概念,业务驱动模型开发流程以及两种开发模式的对比. 通过本文了解DataFactory双轮驱动指哪两种开发模式?它们的具体流程是什么?分别适合什么场景? ...

  3. 【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)

    文章目录 1)使用指南 2)具体步骤详细剖析 2.1)<4-2.创建瓦片地图>操作更新 2.2)<4-3.创建新瓦片>操作更新 2.3)<5-2.如何才能解决排序问题?& ...

  4. 猿创征文|我的前端学习之旅【来自一名大四老学长的真情流露】

    猿创征文 | 我的前端学习之旅 自我介绍 我浑噩的大一大二(是不是另一个你) 我的大三生活 大三上(学习过程.学习方法.推荐网站) 大三下(技术提升.荣誉证书.推荐比赛) 我与 CSDN 的机缘(从小 ...

  5. 猿创征文 | DevOps运维的10个日常使用工具分享

    猿创征文 | DevOps运维的10个日常使用工具分享 一.DevOps介绍 1.DevOps的简介 2.个人分享的10个工具导航 二.jenkins 1.jenkins介绍 2.jenkins的优点 ...

  6. 猿创征文|工具百宝箱-代码编辑器-版本控制工具-终端神器-项目与事务跟踪工具-SFTP客户端

    工具没有绝对意义上的好坏之分,只有需求适合与否,这些需求可能包括:功能.价格.安全.服务.技术等诸多方面. 技术在更新迭代,开发者工具也在更新迭代.一个高效趁手的工具在工作上锦上添花.给大家推荐一下我 ...

  7. 猿创征文 | 国产数据实战之docker部署MyWebSQL数据库管理工具

    猿创征文 | 国产数据实战之docker部署MyWebSQL数据库管理工具 一.MyWebSQL介绍 1.MyWebSQL简介 2.MyWebSQL特点 二.检查本地环境 1.检查docker状态 2 ...

  8. 猿创征文|2022 年我的开发者工具

    猿创征文|2022 年我的开发者工具 文章目录 猿创征文|2022 年我的开发者工具 摘要 版本控制工具-Github Github Desktop git-cola SSH工具-X Shell 7 ...

  9. 猿创征文 | 微服务 Spring Boot 整合Redis 实战开发解决高并发数据缓存

    文章目录 一.什么是 缓存? ⛅为什么用缓存? ⚡如何使用缓存 二.实现一个商家缓存 ⌛环境搭建 ♨️核心源码 ✅测试接口 三.采用 微服务 Spring Boot 注解开启缓存 ✂️@CacheEn ...

  10. 猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具

    这篇文主要介绍了开发者工具之外的一些日常小工具,我用这些小工具主要完成什么工作.分享给大家 官方活动入口:「猿创征文 」第四季 | 2022 年我的开发者工具 猿创征文|工具百宝箱-代码编辑器-版本控 ...

最新文章

  1. 防抖技术 | OpenCV实现视频稳流
  2. 图解|2018年度中国科学十大进展
  3. bzoj 2152 聪明可可
  4. Python 技术篇-用paramiko库实现winodws本地文件上传至linux服务器实例演示
  5. 虚拟机vmware11装Mac ox 10.8 解决windows8.1下unlocker202 vmxsmc.exe已停止工作的问题
  6. Web项目练习总结(错误校正篇)
  7. 我们一家三口不和双方父母来往了怎么办?
  8. 云络科技服务器管理基础架构
  9. 2019电子科大计算机基础知识,电子科技大学820真题1999-2019终极版.pdf
  10. java odbc timesten_TimesTen ODBC 链接库差异及相关命令行工具的使用注意事项
  11. 如何申请免费的企业邮箱
  12. 从菜鸟到完全学不会二维傅立叶在图像处理算法中的应用【老司机教你学傅立叶】
  13. xampp运行不成功或者安装过程中提示找不到文件“-n”,没有安装vcredist_x86的解决方法
  14. 2015最新iherb海淘攻略-图文入门教程
  15. 高德地图又出逆天黑科技!全国各大城市模型直接获取
  16. 12个同父异母的孩子都有自闭症,简历造假的捐精者吸引了全球顶级专家
  17. 精通安卓性能优化-第五章(三)
  18. Citus 分布式 PostgreSQL 集群 - SQL Reference(创建和修改分布式表 DDL)
  19. 基于STM32F429的RGB屏使用
  20. 【go】golang中置new()函数和make()函数的区别

热门文章

  1. 爆料!滴滴或于4-5月开启第二轮裁员,内部员工透露细节:或无赔偿!
  2. mysql ndb_搭建mysql NDB集群
  3. [Python]自学笔记36:论一只爬虫的自我修养3:隐藏
  4. 学习日记12(类和对象)
  5. zjb_integrated 的BLOG(学习DaVinci的好文章)
  6. 老男孩教育 | 从小白进军IT,他仅用了四个月的时间!
  7. Kotlin 正则表达式
  8. STM32WB55_NUCLEO开发(8)----授权
  9. 不支持的WTP版本:1.5。 该插件当前仅支持以下版本:1.0 R7
  10. 数据科学入门前需要知道的10件事