给伸手党的福利:Python 新手入门

发布时间:2019-10-14 09:21:00编辑:auto阅读(1962)

    这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以此文作为一个参考。

    在这个信息爆炸的时代,以 “Python入门” 为关键字搜索出的结果成千上万。不少小白选手难免会东一榔头西一棒槌,最终看了很多文章,却仍没跨过新手那道门槛。

    结合自身的学习经验以及与很多自学者的沟通了解,我们整理出一条可操作性较强的自学路线,同时收集了多种形式的 Python 优质学习资源,供诸位尚未入门或刚入门不久的同学参考。

    0. 心态准备

    编程是一门技术,也可说是一门手艺。如同书法、绘画、乐器、雕刻等,技艺纯熟的背后肯定付出了长时间的反复练习。编程的世界浩瀚无边,所以请保持一颗敬畏的心态去学习,认真对待写下的每一行代码,甚至每一个字符。收拾好自己的心态,向着编程的世界出发。

    1. 入门阶段

    第一步至关重要,是关系到初学者从入门到精通还是从入门到放弃。选一条合适的入门道路,并坚持下去。

    1.1 配置 Python 学习环境

    Python2 还是 Python3?

    很多人都在纠结入门应该学 Python2 还是 Python3。这其实不是个问题。我从没听过某个人是 Python2 程序员或 Python3 程序员。二者只是程序不兼容,思想上并无大差别,语法变动也并不多。选择任何一个入手,都没有大影响。

    如果你仍然无法抉择,那请选择 Python3,毕竟这是未来的趋势,参考知乎回答
    Python2 还是 Python3?
    https://www.zhihu.com/questio...

    编辑器该如何选?

    我推荐 pycharm 社区版,配置简单、功能强大、使用起来省时省心,对初学者友好。并且还是完全免费的!

    社区版地址:https://www.jetbrains.com/pyc...

    其他可以尝试的编辑器:

    idle: Python 自带编辑器。如果只是想尽快写出几行代码来,这是最简便的方式。
    vs code: https://code.visualstudio.com/
    atom: https://atom.io/
    SublimeText: http://www.sublimetext.com/3
    notepad++: https://notepad-plus-plus.org/
    为了让初学者集中更多的精力在写代码这件事情上,所以我们就不推荐 vim 和 Emacs 了。

    操作环境?

    Python 支持现有所有主流操作平台,不管是 windows 还是 mac 还是 linux,都能很好的运行 Python。并且后两者都默认自带 Python 环境。

    1.2 入门教程

    《Crossin的编程教室 - Python 入门》

    http://crossincode.com/course...

    自认为算得上是最浅显易懂的入门教程,很适合没有任何编程基础的人上手。

    74篇图文教程,从最简单的 Python 安装到基本语法、数据结构、函数、文件操作、网络请求、面向对象等逐步深入。

    对于如何加深对一个知识点的印象,最好的办法就是自己写代码实现一遍。如果还是不懂,那就再来一遍。所以无论你使用什么教程,都请将其中的示例代码全部在电脑上输入并运行,learning by doing!

    配套练习

    Crossin的编程教室 - 基础练习

    http://crossincode.com/oj/sam...

    课外练习

    《笨办法学Python》

    http://www.kancloud.cn/kanclo...

    这是本很有名的 Python 书籍,但并不适合纯零基础自学。因为其中重实践但不解释,新手很容易看得一头雾水。作为学习同时的辅助倒更合适。

    其他推荐教程

    《父与子的编程之旅》 又名 《与孩子一起学编程》

    这也是一本非常适合零基础的 Python 入门书籍。喜欢阅读纸质书的同学可以买一本,不少在线书店有售。

    《简明 Python 教程》

    在线阅读:http://www.kuqin.com/abyteofp...

    这是一本言简意赅的 Python 入门教程,简单直白,没有废话。适合有过其他语言基础的人快速了解 Python 语法。

    以上是我们推荐的学习材料,主要偏重没有太多编程基础的纯新手。其他也有一些不错的资源,可供不同需求的学习者使用:

    在线图文教程:

    廖雪峰的Python教程
    http://www.liaoxuefeng.com/wi...

    廖先生的教程涵盖了 Python 知识的方方面面,内容更加系统,有一定深度,有一定基础之后学习会有更多的收获。

    其他入门书籍:

    Head First Python
    Dive Into Python
    Python 核心编程
    深入理解 Python
    Python 标准库
    Python 编程指南
    我们搜集了一些网上的电子书版本,放在了网盘里:https://pan.baidu.com/s/1qWuGvF2

    交互式学习网站:

    codecademy
    https://www.codecademy.com/zh...

    codeschool:
    https://www.codeschool.com/

    codecademy 与 codeschool 这两个通过互联网学习 Python 的网站均备受好评。不妨去体验一下。

    在线视频课程:

    在线教育网站(Coursera网易云edx课堂腾讯课堂等)有哪些值得推荐的 Python 教程?
    https://www.zhihu.com/questio...

    2. 提升阶段

    完成入门阶段的基础学习之后,常会陷入一个瓶颈期,通过看教程很难进一步提高编程水平。这时候,需要的是练习,大量的练习。

    可以从书上的例程开始写,再写小程序片段,然后写完整的项目。

    我们收集了一些练习题和网站。可根据自己阶段,选择适合的练习去做。建议最好挑选一两个系列重点完成,而不是到处浅尝辄止。

    Crossin的编程教室 - 每周一坑

    编程教室的公众号每周会放出一道题目供练习,并在下一周讲解。欢迎关注微信公众号,和大家一起提交解答。

    往期题目:

    • 美队盾牌

    • 罗马数字转换

    • 螺旋矩阵

    • 校验文件哈希

    • 验证哥德巴赫猜想

    • 杨辉三角形

    • 神奇的九宫格

    • 求乘积最大

    • 程序猿的浪漫

    • 田忌赛马

    • 乒乓数

    • 囚徒困境

    • 选择困难的农药召唤师

    • 生成词云

    • 特殊回文数

    • 统计英文小说词频

    • 双色球选号器

    • 三门问题

    • 记账本

    • 让程序替你等待

    • 3道练习题

    • 查找文件内容

    • 文字竖排

    • 查找文件

    Crossin的编程教室 - 编程实例
    http://crossincode.com/oj/pra...

    相对于编程教室基础练习着重于单一知识点,编程实例更注重对知识的融会贯通。

    实验楼 提升编程水平从做项目开始
    https://www.shiyanlou.com/

    hackerrank Python 部分难度循序渐进,符合学习曲线
    https://www.hackerrank.com/do...

    codewar 社区型编程练习网站,内容由易到难
    https://www.codewars.com/?lan...

    leetcode 为编程面试准备,对初学者稍难
    https://leetcode.com/

    牛客网 提供 BAT 等大厂笔试题目
    https://www.nowcoder.com/

    codecombat 一边游戏一边编程
    http://www.codecombat.cn/

    projecteuler 纯粹的编程练习网站
    https://projecteuler.net/arch...

    菜鸟教程100例 基于 py2 的基础练习
    http://www.runoob.com/python/...

    知乎:Python学习路径及练手项目合集
    https://zhuanlan.zhihu.com/p/...

    知乎:Python 的练手项目有哪些值得推荐?
    https://www.zhihu.com/questio...

    3. 遇到问题怎么办?

    学习的过程中或多或少都会有各种问题出现,不要试着逃避,真的勇士敢于直面惨淡的 BUG。

    第一步肯定是利用好搜索引擎,怎么用也是一门技术活:

    编程初学者如何使用搜索引擎

    https://zhuanlan.zhihu.com/p/...

    第二步,求助于各大同性交友网站(大雾):

    StackOverflow

    http://stackoverflow.com/

    v2ex

    https://www.v2ex.com/

    segmentfault

    https://segmentfault.com/

    4. 过来人的建议

    在初学编程的过程中,你会有各种各样的疑惑,你会遇到各种各样的坑。这时,前人的经验尤为重要,我们整理了一些知乎问题供参考:

    你是如何自学Python的?

    https://www.zhihu.com/questio...

    怎么用最短时间高效而踏实地学习 Python?

    https://www.zhihu.com/questio...

    对于编程零基础,第一个语言是 Python 的人有什么建议?

    https://www.zhihu.com/questio...

    Python 编程,应该养成哪些好的习惯?

    https://www.zhihu.com/questio...

    如何处理 Python 入门难以进步的现象?

    https://www.zhihu.com/questio...

    5. 写在最后

    经过第一步和第二步训练,相信一般的小程序都难不倒你了,你已经在编程的世界里已经迈出了关键的一步。接下来就可以去挑战具体的项目了,爬虫、web开发、数据分析、机器学习等等丰富的世界已经向你敞开,选择一个方向重新出发吧!

    记住:在编程的道路上,没有捷径。

关键字