这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同窗。无论你学习的出发点是兴趣驱动、拓展思惟,仍是工做须要、想要转行,均可以此文做为一个参考。html
在这个信息爆炸的时代,以 “Python入门” 为关键字搜索出的结果成千上万。很多小白选手不免会东一榔头西一棒槌,最终看了不少文章,却仍没跨过新手那道门槛。前端
结合自身的学习经验以及与不少自学者的沟通了解,咱们整理出一条可操做性较强的自学路线,同时收集了多种形式的 Python 优质学习资源,供诸位还没有入门或刚入门不久的同窗参考。python
编程是一门技术,也可说是一门手艺。如同书法、绘画、乐器、雕刻等,技艺纯熟的背后确定付出了长时间的反复练习。编程的世界浩瀚无边,因此请保持一颗敬畏的心态去学习,认真对待写下的每一行代码,甚至每个字符。收拾好本身的心态,向着编程的世界出发。linux
第一步相当重要,是关系到初学者从入门到精通仍是从入门到放弃。选一条合适的入门道路,并坚持下去。程序员
Python2 仍是 Python3?web
不少人都在纠结入门应该学 Python2 仍是 Python3。这其实不是个问题。我从没听过某我的是 Python2 程序员或 Python3 程序员。两者只是程序不兼容,思想上并没有大差异,语法变更也并很少。选择任何一个入手,都没有大影响。面试
若是你仍然没法抉择,那请选择 Python3,毕竟这是将来的趋势,参考知乎回答
Python2 仍是 Python3? 应该学习最新版本的 Python 3 仍是旧版本的 Python 2?编程
编辑器该如何选?小程序
我推荐 pycharm 社区版,配置简单、功能强大、使用起来省时省心,对初学者友好。而且仍是彻底免费的!vim
社区版地址:PyCharm
其余能够尝试的编辑器:
为了让初学者集中更多的精力在写代码这件事情上,因此咱们就不推荐 vim 和 Emacs 了。
操做系统?
Python 支持现有全部主流操做平台,不论是 windows 仍是 mac 仍是 linux,都能很好的运行 Python。而且后二者都默认自带 Python 环境。
《Crossin的编程教室 - Python 入门》
自认为算得上是最浅显易懂的入门教程,很适合没有任何编程基础的人上手。
74篇图文教程,从最简单的 Python 安装到基本语法、数据结构、函数、文件操做、网络请求、面向对象等逐步深刻。
对于如何加深对一个知识点的印象,最好的办法就是本身写代码实现一遍。若是仍是不懂,那就再来一遍。因此不管你使用什么教程,都请将其中的示例代码所有在电脑上输入并运行,learning by doing!
配套练习
Crossin的编程教室 - 基础练习
课外练习
《笨办法学Python》
这是本颇有名的 Python 书籍,但并不适合纯零基础自学。由于其中重实践但不解释,新手很容易看得一头雾水。做为学习同时的辅助倒更合适。
其余推荐教程
《父与子的编程之旅》 又名 《与孩子一块儿学编程》
这也是一本很是适合零基础的 Python 入门书籍。喜欢阅读纸质书的同窗能够买一本,很多在线书店有售。
《简明 Python 教程》
在线阅读:简明 Python 教程
这是一本言简意赅的 Python 入门教程,简单直白,没有废话。适合有过其余语言基础的人快速了解 Python 语法。
以上是咱们推荐的学习材料,主要偏重没有太多编程基础的纯新手。其余也有一些不错的资源,可供不一样需求的学习者使用:
在线文字教程:
廖先生的教程涵盖了 Python 知识的方方面面,内容更加系统,有必定深度,有必定基础以后学习会有更多的收获。
其余入门书籍:
咱们搜集了一些网上的电子书版本,放在了网盘里:
https://pan.baidu.com/s/1qWuGvF2
交互式学习网站:
Learn to code by doing | Code School
codecademy 与 codeschool 这两个经过互联网学习 Python 的网站均备受好评。不妨去体验一下。
在线视频课程:
在线教育网站(Coursera、网易云课堂、腾讯课堂等)有哪些值得推荐的 Python 课程?
完成入门阶段的基础学习以后,常会陷入一个瓶颈期,经过看教程很难进一步提升编程水平。这时候,须要的是练习,大量的练习。
能够从书上的例程开始写,再写小程序片断,而后写完整的项目。
咱们收集了一些练习题和网站。可根据本身阶段,选择适合的练习去作。建议最好挑选一两个系列重点完成,而不是处处浅尝辄止。
编程教室的公众号每周会放出一道题目供练习,并在下一周讲解。欢迎关注微信公众号,和你们一块儿提交解答。
往期题目:
相对于编程教室基础练习着重于单一知识点,编程实例更注重对知识的融会贯通。
https://www.hackerrank.com/domains/python/py-introduction
https://www.codewars.com/?language=python
牛客网-专业IT笔试面试备考平台,最全C++JAVA前端求职题库,全面提高IT编程能力
CodeCombat中国 - 中国爱好者的 CodeCombat!在游戏中学习编程
https://projecteuler.net/archives
http://www.runoob.com/python/python-100-examples.html
https://zhuanlan.zhihu.com/p/24249743
https://zhuanlan.zhihu.com/p/23561159
https://www.zhihu.com/question/29372574
学习的过程当中或多或少都会有各类问题出现,不要试着逃避,真的勇士勇于直面惨淡的 BUG。
第一步确定是利用好搜索引擎,怎么用也是一门技术活:
第二步,求助于各大同性交友网站(大雾):
StackOverflow
v2ex
segmentfault
在初学编程的过程当中,你会有各类各样的疑惑,你会遇到各类各样的坑。这时,前人的经验尤其重要,咱们整理了一些知乎问题供参考:
你是如何自学Python的?
https://www.zhihu.com/question/20702054
怎么用最短期高效而踏实地学习 Python?
https://www.zhihu.com/question/28530832
对于编程零基础,第一个语言是 Python 的人有什么建议?
https://www.zhihu.com/question/22785587
Python 编程,应该养成哪些好的习惯?
https://www.zhihu.com/question/28966220
如何处理 Python 入门难以进步的现象?
https://www.zhihu.com/question/27969262
通过第一步和第二步训练,相信通常的小程序都难不倒你了,你已经在编程的世界里已经迈出了关键的一步。接下来就能够去挑战具体的项目了,爬虫、web开发、数据分析、机器学习等等丰富的世界已经向你敞开,选择一个方向从新出发吧!
记住:在编程的道路上,没有捷径。
【公众号(Crossin的编程教室)里回复 新手,获取脱水版资源连接汇总页面。】
教程及练习将持续更新,欢迎关注咱们。
其余文章及回答: