什么是 IDE

首先介绍一下什么是 IDE

IDE 的全称是 Integrated Development Environment集成开发环境。是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件工具(摘自某百科)。

早些年的时候学 C++ 的有微软的 VC6.0,后来升级到 Visual Studio,号称宇宙第一 IDE。学习 Java 的以前都用 Eclipse,后来大家渐渐都觉得 IntelliJ IDEA 更香。

值得一说的是,随着 IDE 的发展,现在它们基本都不再局限支持某一种语言。比如 Visual Studio 现在也可以支持 Python,而大家公认的最好用的 PyCharm 也和 IntelliJ 家族其它 IDE 一脉相承。

什么是 IDLE

IDLE 的全称是: Integrated Development and Learning Environment

无意中看到的:大家都知道 Python 的名字来源于喜剧团体:Monty Python,里面有位成员名字叫 Eric Idle,据说 Idle 就是源自于此。看来 Guido 对他们是真爱。如果这个传闻是真的,那么更有意思的是,还有个 IDE 叫 Eric。

比 IDE 还多了学习功能,而且 IDLE 的最开始的作者就是 Python 之父,Guido van Rossum 大神。是不是听上去还不错?

作为 IDE 应该包含的基本功能,IDLE 都具备了:

  • 带语法高亮,自动提示的代码编辑器(虽然很弱)
  • 可以直接运行代码也可以提供交互操作的解释器
  • 提供 Debug 能力,比如单步调试的 Debugger 工具

可以说,作为入门级别的是可以基本胜任的。

用还是不用?

IDLE 最大的优点是 免安装免配置,安装完 python 后就能用,并且还自动创建了快捷方式和右键菜单

从功能上讲,IDLE 确实很落伍,但是对于 真正的初学者 来说,这反而是优点。

这里的初学者,是指第一次接触到编程,所以也是第一次接触到编程开发工具的人。如果有其它任何语言基础,用过任何一种语言开发工具,都不算了。

为什么我要说 IDLE 的功能少反而是优点?

因为开始学习的时候我们最常用的必须要掌握的功能可能只有很少的几十个,甚至更少。

假设 IDLE 有 100 个功能点吧(每个按钮菜单项都算上,实际可能还没有),其它 IDE 可能有几百上千个功能点。

那么是在前者找到我们必需的那些功能容易,还是后者呢?答案是显而易见的。

就好比现在有个人第一次接触到电脑,字都不会打,那么是不是该从记事本开始,先保证能正常打字后再使用 word 学习字体排版。

什么时候不用 IDLE

作为一个入门级别的工具,IDLE 并不适合用来干活。因为它缺少了很多现代 IDE 应该有的基本功能:

所以,Python 基础学完之后,差不多就该另觅良器了。

不用 IDLE 用什么?

不用 IDLE 后最大的问题就是该选择哪个软件的问题:

上面这些工具,是我在学习 Python 之后有所耳闻或使用过的,大致上按照年代感排的序,其中有的非常火热,有的已经鲜有耳闻了。

不同的需求可以有不同的选择:

其实,到底哪个工具最香,还是要自己去试试。

Turtle Demo 时间

IDLE 里面有个不起眼的菜单,Help -> Turtle Demo

里面有很不错的小例子,比如 汉诺塔,代码很简练,还自带了动画效果,非常棒:

还有这些:

对于编程初学者,特别是青少年,从 Turtle 画图开始学是不错的选择。比较容易培养对编程的兴趣。所以,感兴趣的千万不要错过这些 Demo。

Tkinter 编程最佳参考

先来介绍一下 Tkinter

Tkinter,是 Python 自带的 GUI(图形用户界面)编程库。

Tkinter,有时候又简称 Tk,提到它的时候往往和 Tcl 在一起,像这样 Tcl/Tk。连它们的官网 URL 都是 :https://www.tcl.tk/。

实际上,Tcl 也是一种编程语言,全称是:Tool Command Language,即 工具命令语言。它也是一门解释性的脚本语言,和 Python 一样。

TCL 的发音像 tickle 一样,念作 “踢叩”

TCL 的功能也很强大,但是它的语法和其它语言差别挺大(我曾经学过一段时间,记忆犹新)。虽然它没有 Python 那么被广为大众所知,但是在某些领域仍然有广泛应用。

一个是交换机的配置系统基本都是使用的 Tcl,所以在网络自动化测试领域,Tcl 还是首选语言。这其中还有一个工具 expect 非常有名。

另一个比较著名的就是 Tkinter 了。它是 Tcl 语言的扩展,能够提供了跨操作系统的 GUI。因为它应用很广,所以 Python 没有自己实现,就在上面加了一层壳,提供了 Python 版本的 API。把它们作为了 Python 的 GUI 库了。

自从互联网时代开始,桌面编程日渐式微,转而热门的是 Web 开发。更不用提现在已经是移动互联网时代的尾声,所以也没多少人学 GUI 编程了。

但是难免有人会对 Python GUI 编程感兴趣,而网上也找不到很多的资料。那么 IDLE 就是绝好的参考案例。所有的源码就在 <Python安装目录>\Lib\idlelib 中。

小结

IDE 和 IDLE 和 Tcl/Tk 的入门级别解释。

Python IDE、IDLE 和 Tcl/Tk相关推荐

  1. python手机版idle-如何在Ubuntu上安装Python IDE IDLE

    打开Ubuntu命令行,终端,通过系统Dash或Ctrl+Alt+T快捷方式. 然后,您需要像sudo一样通过以下命令更新系统的存储库索引: linuxidc@linuxidc:~/www.linux ...

  2. pythonide的作用_Linux程序员宝典:2020年10款出色的Python IDE!

    Python是一种通用编程语言,可用于构建一切:从后端Web开发.数据分析.人工智能到科学计算,不一而足.它还可以用于开发生产力软件.游戏.桌面应用及其他软件. Python简单易学,语法和缩进结构简 ...

  3. python开发linux桌面应用_Linux程序员宝典:2020年10款出色的Python IDE!

    Python是一种通用编程语言,可用于构建一切:从后端Web开发.数据分析.人工智能到科学计算,不一而足.它还可以用于开发生产力软件.游戏.桌面应用及其他软件. Python简单易学,语法和缩进结构简 ...

  4. 5款最受Python开发者欢迎的Python IDE和代码编辑器

    5个Python IDE和文本编辑器的比较 在本文中,我们将介绍5个热门的Python IDE和5个Python文本编辑器.根据您的领域,价格和功能-您将看到最适合您的Python IDE和代码编辑器 ...

  5. python tcl tk_安装Python WARNING: The version of Tcl/Tk (8.5.9)

    Mac安装Python3,遇到IDLE中无法输入中文的问题,shell中显示如下警告 Python 3.6.4 (v3.6.4:d48ecebad5, Dec 18 2017, 21:07:28) [ ...

  6. python tcl tk_如何解决Mac版关于python3.5.X的Tcl/Tk (8.5.9) 的警告?

    [Mac OS 10.13 版本] 一.[手动官网下载法]非Homebrew [Python 3.6.3版本] 与之对应的[ActiveTcl8.5.18版本] 安装后,重启Python3的IDLE, ...

  7. python:tkinter —— Tcl/Tk 的 Python 接口

    python:tkinter -- Tcl/Tk 的 Python 接口 架构 Tkinter 模块 Tkinter 拾遗 Hello World 程序 重要的 Tk 概念 了解 Tkinter 如何 ...

  8. tkinter —— Tcl/Tk 的 Python 接口

    注:PYTHON最新版本3.12.0a3 源代码: Lib/tkinter/__init__.py tkinter 包 ("Tk 接口") 是针对 Tcl/Tk GUI 工具包的标 ...

  9. python与idle区别_idle和python区别

    IDLE是一个用于编辑脚本,代码高亮且可以直接运行的文本编辑器.python是个运行程序,双击打开是一个命令行,可以直接输入代码,但是不能保存成脚本,可以看做是控制台. 推荐:<Python教程 ...

  10. python的idle无法输入中文_一条命令解决mac版本python IDLE不能输入中文问题

    安装完Python通常自动就有了一个简易的集成环境IDLE,但在mac上,无法在IDLE中使用中文. 通常故障有两种情况: 1.在IDLE中,中文输入法根本无法工作,不会弹出输入框,所有的输入都被当做 ...

最新文章

  1. 腾讯微博API时间线相关接口返回的微博信息中head值使用问题
  2. C# xml通过xslt转换为html输出
  3. mysql 5.7 存储引擎_mysql5.7——innodb存储引擎总结
  4. I/O多路转接之 select
  5. 提取pfx证书公钥和私钥
  6. if else复合语句
  7. 欢迎使用Java 8之前要重温的10个JDK 7功能
  8. 织梦模板不支持html,html中{}是什么样的模板?如何使用它?HTML5template模板标签是什么?html常用的字体样式是什么?dede后台文件为什么不能生成html?...
  9. PJAX全局无刷新的设置方法~
  10. ubuntu安装vsftpd遇到的问题
  11. struts config xml详细解释
  12. 京东回应「被薅 7000 万、项目组全体开除」;微信朋友圈屏蔽支付宝集五福;MySQL 8.0.19 发布 | 极客头条...
  13. awbeci—一个帮助你快速处理日常工作的网址收集网站
  14. 【地图API】为何您的坐标不准?如何纠偏?
  15. python调用dll出现错误总结如下(持续更新)
  16. 课程设计之第二次冲刺----第一天
  17. Excel学习日记:L6-格式化为表格交叉分析筛选器
  18. 关于在VMware上安装Android x86及FTP详细使用
  19. 转载:Ajax控件视频教程下载地址
  20. 利用AD和AUTO CAD制作PCB电路板车间生产工序卡

热门文章

  1. 双绞线的种类与选择:
  2. 大连腾飞五期的企业_云存储腾飞的五个想法
  3. Photoshop通过抠图法给照片换背景-PS换背景教程
  4. 快速创建精彩的Flash游戏之一:Flash游戏引擎及框架介绍
  5. 山东省大学生软件设计大赛一等奖作品参赛视频
  6. matlab正弦信号频谱,正弦信号的正弦信号的频谱分析及提取.doc
  7. 波士顿大学计算机硕士排名,波士顿大学计算机工程研究生排名重点消息重点解析...
  8. 【Java】俄罗斯方块带背景音乐
  9. 单片机炫彩灯实训报告_单片机跑马灯实验报告
  10. vulhub 8.1-backdoor漏洞复现