1. 写 python 有哪些好的 IDE?

在课程一开始,我推荐了大家使用 python 自带的IDE -- IDLE。因为你不需要再做更多的安装和配置,就可以用它来写 python 程序。虽然方便,但从长远来看,它不是一个很好的解决方案,随着你的能力提升迟早会要抛弃它。

我个人在用的 python IDE 叫 PyCharm。它的用户体验相当顺手。除了一般编辑器支持的代码检查、补全、折叠、调试等等功能它都做得很到位之外,它对于django、GAE等python web框架的开发也有很好的支持(这部分是付费版里才有,学生可以申请。一般初学者用免费的社区版足够了)。可自定义、可扩展。支持Window、Mac、Linux平台。美中不足的是,内存占用较高,如果电脑配置不行的话,启动会有点久。

VSCode则是另一款经常被推荐的IDE,而且它支持的不仅仅是Python。对于微软系软件熟悉的朋友更是轻车熟路。还有很重要的一点,它比Pycharm占用资源更少更轻量。

不过有很多python程序员并不用IDE,只是选择一款顺手的文本编辑器就可以了。传说中“神的编辑器”Emacs和“编辑器之神”Vim就是这类的杰出代表。近年来SublimeText也大有分一杯羹的势头,且上手更容易。它们共有的特点就是强大的可扩展性。理论上来说,你可以用它完成任何一款IDE可以实现的功能,并且按你的喜好调校成你最顺手的武器。只可惜,这种工具都有较高的上手门口,即便SublimeText也需要做一点配置,所以不建议初学者折腾。

另外还有一些编辑器,比如适合数据分析的 jupyter。可以参考这篇文章:工欲善其事必先利其器:用什么写Python?

我本人在Linux下用Emacs23,Windows下用Pycharm和SublimeText(用来写短小的脚本),加了一些扩展。

一个好的IDE可以帮你节省很多时间,比如拼错变量名这种新手必犯的问题,就可以大大避免了。但像自动补全这种懒人功能,在初学时候慎用,多打点字反倒是好事。

2. 我把基础都看完了,接下来干什么?/

你讲的例程都能看懂,但自己写还是不会,怎么办?/

我之前也在网上学过xx语言,可是后来很快又忘了,怎么破?

这几个问题本质都差不多,大意就是:学完了,然后呢?

举两个例子:你去学一门武功,把招式秘籍背下来,能照着打了,是不是就可以行走江湖了?你去学一门乐器,DoReMi每个音阶与和弦都能演奏出来了,是不是就可以上台表演了?即使是打个太极拳强身健体,或是弹个吉他装文艺,也是得时常拿出来练练的。

所以编程也是这样的事情。我个人的经验:如果学的一门语言或技术是我要去使用的,那很快就能上手;否则的话,即使我收拾好心情、做好准备去认真学,要不了多久也会忘掉。原因就在于没有后续的练习。

当年我学吉他,和弦都按得很熟练,但弹熟了几首曲子后就不知道还能怎样。直到后来找到了志同道合的朋友,组了乐队,才体会到其中的乐趣。如今你学编程,一定也有同样的困惑,我基础都学完,怎么也没有什么感觉。(比我幸运的是,你来到了编程教室:)

所以我对这类问题的建议:

首先,找一个目标,比如做一个网站/写一个桌面应用工具/开发一个游戏/分析某个数据模型,照着目标去完善自己的技能。在做的过程中你会不断遇到问题、解决问题,你的技能和经验也会随之不断提升。

另外就是,多和其他学习者交流,不断寻找学习的点,持续练习。这也是共同学习比自己一个人看教程看视频的优势。

希望到有天你毕业或者工作中需要编程的时候,你能说,我会python,我能搞定,我还跟人合作开发过一个网站。而不仅仅是很多年之后,有人谈到编程的时候,你淡淡一笑说,哦,我当年好像还学过一个什么语言,后来忘了。