初次接触python,怎么样系统的自学呢?
这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以此文作为一个参考。
在这个信息爆炸的时代,以 “Python入门” 为关键字搜索出的结果成千上万。不少小白选手难免会东一榔头西一棒槌,最终看了很多文章,却仍没跨过新手那道门槛。
结合自身的学习经验以及与很多自学者的沟通了解,我们整理出一条可操作性较强的自学路线,同时收集了多种形式的 Python 优质学习资源,供诸位尚未入门或刚入门不久的同学参考。
0. 心态准备
编程是一门技术,也可说是一门手艺。如同书法、绘画、乐器、雕刻等,技艺纯熟的背后肯定付出了长时间的反复练习。编程的世界浩瀚无边,所以请保持一颗敬畏的心态去学习,认真对待写下的每一行代码,甚至每一个字符。收拾好自己的心态,向着编程的世界出发。
1. 入门阶段
第一步至关重要,是关系到初学者从入门到精通还是从入门到放弃。选一条合适的入门道路,并坚持下去。
1.1 配置 Python 学习环境
Python2 还是 Python3?
很多人都在纠结入门应该学 Python2 还是 Python3。这其实不是个问题。我从没听过某个人是 Python2 程序员或 Python3 程序员。二者只是程序不兼容,思想上并无大差别,语法变动也并不多。选择任何一个入手,都没有大影响。
如果你仍然无法抉择,那请选择 Python3,毕竟这是未来的趋势,参考知乎回答
Python2 还是 Python3?
应该学习最新版本的 Python 3 还是旧版本的 Python 2?
编辑器该如何选?
我推荐 pycharm 社区版,配置简单、功能强大、使用起来省时省心,对初学者友好。并且还是完全免费的!
社区版地址:https://www.jetbrains.com/pycharm/
其他可以尝试的编辑器:
idle: Python 自带编辑器。如果只是想尽快写出几行代码来,这是最简便的方式。
vs code: https://code.visualstudio.com/
atom: https://atom.io/
SublimeText: http://www.sublimetext.com/3
notepad++: Notepad++ Home
为了让初学者集中更多的精力在写代码这件事情上,所以我们就不推荐 vim 和 Emacs 了。
操作系统?
Python 支持现有所有主流操作平台,不管是 windows 还是 mac 还是 linux,都能很好的运行 Python。并且后两者都默认自带 Python 环境。
1.2 入门教程
《Crossin的编程教室 - Python 入门》
自认为算得上是最浅显易懂的入门教程,很适合没有任何编程基础的人上手。
74篇图文教程,从最简单的 Python 安装到基本语法、数据结构、函数、文件操作、网络请求、面向对象等逐步深入。
对于如何加深对一个知识点的印象,最好的办法就是自己写代码实现一遍。如果还是不懂,那就再来一遍。所以无论你使用什么教程,都请将其中的示例代码全部在电脑上输入并运行,learning by doing!
配套练习
Crossin的编程教室 - 基础练习
课外练习
《笨办法学Python》
http://www.kancloud.cn/kancloud/learn-python-hard-way/49863
这是本很有名的 Python 书籍,但并不适合纯零基础自学。因为其中重实践但不解释,新手很容易看得一头雾水。作为学习同时的辅助倒更合适。
其他推荐教程
《父与子的编程之旅》 又名 《与孩子一起学编程》
这也是一本非常适合零基础的 Python 入门书籍。喜欢阅读纸质书的同学可以买一本,不少在线书店有售。
《简明 Python 教程》
在线阅读:简明 Python 教程
这是一本言简意赅的 Python 入门教程,简单直白,没有废话。适合有过其他语言基础的人快速了解 Python 语法。
以上是我们推荐的学习材料,主要偏重没有太多编程基础的纯新手。其他也有一些不错的资源,可供不同需求的学习者使用:
在线文字教程:
廖雪峰的Python教程
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
廖先生的教程涵盖了 Python 知识的方方面面,内容更加系统,有一定深度,有一定基础之后学习会有更多的收获。
其他入门书籍:
Head First Python
Dive Into Python
Python 核心编程
深入理解 Python
Python 标准库
Python 编程指南
我们搜集了一些网上的电子书版本,放在了网盘里:https://pan.baidu.com/s/1qWuGvF2
交互式学习网站:
codecademy
https://www.codecademy.com/zh/learn/python
codeschool:
codecademy 与 codeschool 这两个通过互联网学习 Python 的网站均备受好评。不妨去体验一下。
在线视频课程:
在线教育网站(Coursera网易云edx课堂腾讯课堂等)有哪些值得推荐的 Python 教程?
https://www.zhihu.com/question/46835030
2. 提升阶段
完成入门阶段的基础学习之后,常会陷入一个瓶颈期,通过看教程很难进一步提高编程水平。这时候,需要的是练习,大量的练习。
可以从书上的例程开始写,再写小程序片段,然后写完整的项目。
我们收集了一些练习题和网站。可根据自己阶段,选择适合的练习去做。建议最好挑选一两个系列重点完成,而不是到处浅尝辄止。
Crossin的编程教室 - 每周一坑:
编程教室的公众号每周会放出一道题目供练习,并在下一周讲解。欢迎关注微信公众号,和大家一起提交解答。
往期题目:
Crossin的编程教室 - 编程实例
http://crossincode.com/oj/practice_list/
相对于编程教室基础练习着重于单一知识点,编程实例更注重对知识的融会贯通。
实验楼 提升编程水平从做项目开始
hackerrank Python 部分难度循序渐进,符合学习曲线
https://www.hackerrank.com/domains/python/py-introduction
codewar 社区型编程练习网站,内容由易到难
https://www.codewars.com/?language=python
leetcode 为编程面试准备,对初学者稍难
牛客网 提供 BAT 等大厂笔试题目
codecombat 一边游戏一边编程
projecteuler 纯粹的编程练习网站
https://projecteuler.net/archives
菜鸟教程100例 基于 py2 的基础练习
http://www.runoob.com/python/python-100-examples.html
- 知乎:Python3.x基础学习资料整理
https://zhuanlan.zhihu.com/p/24249743
知乎:Python学习路径及练手项目合集
https://zhuanlan.zhihu.com/p/23561159
知乎:Python 的练手项目有哪些值得推荐?
https://www.zhihu.com/question/29372574
3. 遇到问题怎么办?
学习的过程中或多或少都会有各种问题出现,不要试着逃避,真的勇士敢于直面惨淡的 BUG。
第一步肯定是利用好搜索引擎,怎么用也是一门技术活:
编程初学者如何使用搜索引擎
https://zhuanlan.zhihu.com/p/20683456
第二步,求助于各大同性交友网站(大雾):
StackOverflow
v2ex
segmentfault
4. 过来人的建议
在初学编程的过程中,你会有各种各样的疑惑,你会遇到各种各样的坑。这时,前人的经验尤为重要,我们整理了一些知乎问题供参考:
你是如何自学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
5. 写在最后
经过第一步和第二步训练,相信一般的小程序都难不倒你了,你已经在编程的世界里已经迈出了关键的一步。接下来就可以去挑战具体的项目了,爬虫、web开发、数据分析、机器学习等等丰富的世界已经向你敞开,选择一个方向重新出发吧!
记住:在编程的道路上,没有捷径。
以上为转载,原链接为https://zhuanlan.zhihu.com/p/25824007
初次接触python,怎么样系统的自学呢?的更多相关文章
- 初次接触python时,整理的一些基础操作
1.window下python简单使用 (1).使用工具网址 https://jingyan.baidu.com/article/9f7e7ec0ec2e676f2915545f.html (2).各 ...
- 初次接触python的re模块
刷CF的时候,看到一个简单的题目,可以用来练练正则表达式 于是乎找到了re.sub的用法,说明如下 re.sub: (pattern, repl, string, count=0, │ f ...
- 孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境
孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境 (完整学习过程屏幕记录视频地址在文末) 学习Python我肯定不会错过图片文字的识别,当然更重要的是简单的验证码识别了,今天 ...
- tensorflow初次接触记录,我用python写的tensorflow第一个模型
tensorflow初次接触记录,我用python写的tensorflow第一个模型 刚用python写的tensorflow机器学习代码,训练60000张手写文字图片,多层神经网络学习拟合17000 ...
- 初次接触GWT,知识点总括
初次接触GWT,知识点概括 前言 本人最近开始研究 GWT(Google Web Toolkit) ,现将个人的一点心得贴出来,希望对刚开始接触 GWT的程序员们有所帮助,也欢迎讨论,共同进步. 先说 ...
- [Docker]初次接触
Docker 初次接触 近期看了不少docker介绍性文章,也听了不少公开课,于是今天去官网逛了逛,发现了一个交互式的小教程于是决定跟着学习下. 仅仅是把认为重点的知识记录下来,不是非常系统的学习和笔 ...
- 初次接触:DirectDraw
第六章 初次接触:DirectDraw 本章,你将初次接触DirectX中最重要的组件:DirectDraw.DirectDraw可能是DirectX中最强大的技术,因为其贯穿着2D图形绘制同时其帧缓 ...
- 初次接触ARM开发,理清这四个开发思路很重要!
初次接触ARM开发,理清这四个开发思路很重要! 由于涉及编程,学习ARM单片机系统对于从事电子电路的设计者来说是有些困难的,学习知识不难,难的是理清其中的开发思路,找到一个好的起点.本文就将从这一步入 ...
- 与虚拟机和linux的初次接触
初次接触虚拟机 根据老师所给的资源和教程,虚拟机安装的过程十分顺利. 接下来是在虚拟机上安装linux操作系统我下载了破解版的Ubuntu,也是十分顺利 接下来就是安装虚拟机增强功能,命令有些繁琐,在 ...
随机推荐
- 牛客 133D 挑选队友 (分治FFT)
大意: $n$个人, 分别属于$m$个组, 要求选出$k$个人, 使得每组至少有一人, 求方案数. 显然答案为$\prod((1+x)^{a_i}-1)$的第$k$项系数, 分治$FFT$即可. #i ...
- 2-MySQL DBA笔记-MySQL安装部署和入门
第2章 MySQL安装部署和入门 第1章介绍了MySQL的一些基础知识,本章将为读者介绍MySQL的部署.安装及一些常用命令和参数的设置.2.1 如何选择MySQL版本 在选择MySQL的版本时,要根 ...
- Dual 表
我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的. Oracle中的dual表是一个单行单列的虚拟表. Dual表是oracle与数据字典 ...
- NOIP2009-2018简要题解
口胡警告 NOIP2009 潜伏者 模拟 Hankson 的趣味题 对四个数\(a_0,a_1,b_0,b_1\)分解质因数,结果序列分别记为\(\{p1^{b1}\},\{p2^{b2}\},\{p ...
- CSS 定位 四种定位
absolute 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位.元素的位置通过“left”,“top”,“right”以及“bottom”属性进行定位. fixed 生成固定 ...
- window上mongoDB的安装及常用mongodb命令
前几天在学习node操作数据库时使用的mongoDB数据库,今天来对mongodb的安装过程及配置以及后面需要使用的一些常用命令做一下总结. 安装MongoDB (可参考菜鸟教程中的安装步骤) 首先, ...
- 2.SpringMVC执行流程
SpringMVC 执行流程: 执行流程简单分析: 1.浏览器提交请求到中央调度器 2.中央调度器直接将请求转给处理器映射器 3.处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行 ...
- python3学习特性
一 实例变量与类变量 class Pepple: __age=18 __name="zhangfff" @classmethod def GetInfo(cls): print(c ...
- 【转】在 Delphi 中创建 Linux 守护程序(服务进程)
转自波哥的译文,必须转过来,太有价值了!原文地址在这里.以下为原文内容: 本文译自 原文链接,语言上做了精炼和排版的变更,以便更简洁明了. Delphi 开始支持 Linux 平台为 Delphi 开 ...
- 【jekins】安装jdk遇到的坑
首先我电脑版本为win10 64 在安装JDK时先安装了jdk包,安装路径为D:\Java\jdk1.8.0_171,装完jdk后,自动安装jre,我将其安装在D:\Java\jre1.8.0_171 ...

