如何系统地自学 Python 初学者如何系统地自学python

\u5982\u4f55\u7cfb\u7edf\u5730\u81ea\u5b66 Python\uff1f

1.python\u7684\u5de5\u4f5c\u6700\u591a\u7684\u662fweb\u540e\u7aef\uff0c\u6240\u4ee5\u6700\u597d\u4f1a\u90a3\u4e9bweb framework\u76f8\u5173\u7684\uff0c\u4e0d\u7528\u5168\u4f1a\uff0c\u5b66\u51e0\u4e2a\u4e3b\u6d41\u7684\u3002
2.\u4efb\u4f55\u8bed\u8a00\u7684\u6838\u5fc3\u5185\u5bb9\u90fd\u4e0d\u591a\uff0cpython\u66f4\u7cbe\u7b80\u4e00\u4e9b\uff0c\u4f46\u662f\u5c31\u8fd9\u4e9b\u5185\u5bb9\uff0c\u8981\u7528\u597d\u4e5f\u4e0d\u5bb9\u6613\u3002\u4f60\u9700\u8981\u770b\u4e00\u4e9b\u8fdb\u9636\u7684\u4e66\uff0c\u5173\u4e8e\u5e93\uff0c\u9664\u4e86\u4e00\u4e9b\u5e38\u7528\u7684\u6838\u5fc3\u5e93\uff0c\u5927\u90e8\u5206\u5e93\u7528\u7684\u65f6\u5019\u67e5\u6587\u6863\u5c31\u597d\u4e86\uff0c\u5f88\u591a\u5e93\u770b\u770b\u6e90\u7801\u66f4\u597d\uff0c\u7528\u51e0\u6b21\u5c31\u719f\u7ec3\u4e86\u3002
3.C++\u91cc\u9762trick\u592a\u591a\uff0c\u8981\u7528\u597d\u786e\u5b9e\u5f88\u82b1\u65f6\u95f4\u7684\uff0c\u8fd9\u4e2a\u662f\u5386\u53f2\u539f\u56e0\uff0cC#\u548cjava\u90fd\u662fC++\u57fa\u7840\u4e0a\u7684\uff0c\u5c31\u4e25\u8c28\u5f88\u591a\uff0c\u5bb9\u6613\u7cfb\u7edf\u5b66\u4e60\u3002python\u8fd9\u7c7b\u8bed\u8a00\u662f\u727a\u7272\u4e00\u4e9b\u6267\u884c\u6548\u7387\u6765\u63d0\u9ad8\u5f00\u53d1\u6548\u7387\uff0c\u5177\u4f53\u7684\u5c31\u662f\u7a0b\u5e8f\u4f1a\u6162\u4e9b\uff0c\u4f46\u662f\u6e90\u7801\u4f1a\u77ed\u4e9b\uff0cpython\u7684\u53ef\u8bfb\u6027\u662f\u5f88\u5f3a\u7684\u3002
Python\u7684\u7279\u70b9\u662f\u4ec0\u4e48\uff1f
1.\u7b80\u5355\uff1aPython\u662f\u4e00\u79cd\u4ee3\u8868\u7b80\u5355\u4e3b\u4e49\u601d\u60f3\u7684\u8bed\u8a00\u3002\u9605\u8bfb\u4e00\u4e2a\u826f\u597d\u7684Python\u7a0b\u5e8f\u5c31\u611f\u89c9\u50cf\u662f\u5728\u8bfb\u82f1\u8bed\u4e00\u6837\u3002\u5b83\u4f7f\u4f60\u80fd\u591f\u4e13\u6ce8\u4e8e\u89e3\u51b3\u95ee\u9898\u800c\u4e0d\u662f\u53bb\u641e\u660e\u767d\u8bed\u8a00\u672c\u8eab\u3002
2.\u6613\u5b66\uff1aPython\u6781\u5176\u5bb9\u6613\u4e0a\u624b\uff0c\u56e0\u4e3aPython\u6709\u6781\u5176\u7b80\u5355\u7684\u8bed\u6cd5\u3002
3.\u514d\u8d39\u3001\u5f00\u6e90\uff1aPython\u662fFLOSS\uff08\u81ea\u7531/\u5f00\u653e\u6e90\u7801\u8f6f\u4ef6\uff09\u4e4b\u4e00\u3002\u4f7f\u7528\u8005\u53ef\u4ee5\u81ea\u7531\u5730\u53d1\u5e03\u8fd9\u4e2a\u8f6f\u4ef6\u7684\u62f7\u8d1d\u3001\u9605\u8bfb\u5b83\u7684\u6e90\u4ee3\u7801\u3001\u5bf9\u5b83\u505a\u6539\u52a8\u3001\u628a\u5b83\u7684\u4e00\u90e8\u5206\u7528\u4e8e\u65b0\u7684\u81ea\u7531\u8f6f\u4ef6\u4e2d\u3002FLOSS\u662f\u57fa\u4e8e\u4e00\u4e2a\u56e2\u4f53\u5206\u4eab\u77e5\u8bc6\u7684\u6982\u5ff5\u3002
4.\u9ad8\u5c42\u8bed\u8a00\uff1a\u7528Python\u8bed\u8a00\u7f16\u5199\u7a0b\u5e8f\u7684\u65f6\u5019\u65e0\u9700\u8003\u8651\u8bf8\u5982\u5982\u4f55\u7ba1\u7406\u4f60\u7684\u7a0b\u5e8f\u4f7f\u7528\u7684\u5185\u5b58\u4e00\u7c7b\u7684\u5e95\u5c42\u7ec6\u8282\u3002
5.\u53ef\u6269\u5c55\u6027\uff1a\u5982\u679c\u9700\u8981\u4e00\u6bb5\u5173\u952e\u4ee3\u7801\u8fd0\u884c\u5f97\u66f4\u5feb\u6216\u8005\u5e0c\u671b\u67d0\u4e9b\u7b97\u6cd5\u4e0d\u516c\u5f00\uff0c\u53ef\u4ee5\u90e8\u5206\u7a0b\u5e8f\u7528C\u6216C++\u7f16\u5199\uff0c\u7136\u540e\u5728Python\u7a0b\u5e8f\u4e2d\u4f7f\u7528\u5b83\u4eec\u3002
6.\u53ef\u5d4c\u5165\u6027\uff1a\u53ef\u4ee5\u628aPython\u5d4c\u5165C/C++\u7a0b\u5e8f\uff0c\u4ece\u800c\u5411\u7a0b\u5e8f\u7528\u6237\u63d0\u4f9b\u811a\u672c\u529f\u80fd\u3002
7.\u89c4\u8303\u7684\u4ee3\u7801\uff1aPython\u91c7\u7528\u5f3a\u5236\u7f29\u8fdb\u7684\u65b9\u5f0f\u4f7f\u5f97\u4ee3\u7801\u5177\u6709\u8f83\u597d\u53ef\u8bfb\u6027\u3002\u800cPython\u8bed\u8a00\u5199\u7684\u7a0b\u5e8f\u4e0d\u9700\u8981\u7f16\u8bd1\u6210\u4e8c\u8fdb\u5236\u4ee3\u7801\u3002

Python\u662f\u6240\u6709\u7f16\u7a0b\u8bed\u8a00\u4e2d\u6700\u6613\u4e8e\u4e0a\u624b\u96be\u4e8e\u7cbe\u901a\u7684\u5178\u8303\uff0c\u8fd9\u610f\u5473\u7740\u4f60\u8981\u662f\u4e70\u9519\u4e66\u4e86\u5f88\u6709\u53ef\u80fd\u4f1a\u88ab\u5751\u6b7b\u3002Python\u9002\u5408\u65b0\u624b\u4e3b\u8981\u8fd8\u662f\u56e0\u4e3a\u4e24\u70b9\uff0c\u4e00\u662f\u4ed6\u662f\u811a\u672c\u8bed\u8a00\u53ef\u4ee5\u5199\u4e00\u884c\u8fd0\u884c\u4e00\u884c\uff0c\u6bd4\u90a3\u4e9b\u7f16\u8bd1\u8bed\u8a00\u89c1\u6548\u5feb\uff0c\u4e0d\u7528\u4e00\u6b21\u5199\u5f88\u591a\u4ee3\u7801\u624d\u80fd\u8fd0\u884c\u3002\u4e8c\u662f\u591a\u8303\u5f0f\uff0cPython\u51e0\u4e4e\u5305\u62ec\u4e86\u6240\u6709\u4e3b\u6d41\u8303\u5f0f\uff0c\u600e\u4e48\u5199\u90fd\u884c\u3002\u4f46\u662f\u8fd9\u5e76\u4e0d\u610f\u5473\u7740\u6240\u6709\u8303\u5f0f\u90fd\u9002\u5408\u65b0\u624b\u3002\u65b0\u624b\u8fd8\u662f\u4ece\u547d\u4ee4\u5f0f\uff0c\u8fc7\u7a0b\u5f0f\u5165\u624b\u5427\u3002\u6839\u636e\u4ee5\u4e0a\u4e24\u70b9\u4f60\u53ef\u4ee5\u8bd5\u7740\u9009\u62e9\u5408\u9002\u7684\u5165\u95e8\u4e66\u7c4d\u3002
\u521d\u5b66\u8005\u5165\u95e8\u7684\u8bdd\u63a8\u8350\u4e66\u7c4d\u662f\u300a\u7236\u4e0e\u5b50\u7684\u7f16\u7a0b\u4e4b\u65c5\u300b\uff0c\u63a8\u8350\u7684\u5b66\u4e60\u7c7bAPP\u662f\u300aW3Cschool\u300b,\u603b\u4e4b\u5b66\u4e60\u7f16\u7a0b\u6700\u91cd\u8981\u7684\u662f\u575a\u6301\u4e0d\u61c8\uff0c\u6700\u7ec8\u624d\u7528\u5177\u5907\u6709\u771f\u6b63\u7684\u7f16\u7a0b\u80fd\u529b\u3002

是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓?

幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。

Python 的设计哲学之一就是简单易学,体现在两个方面:



Python 其实挺简单的,也挺强大的。

我用 Python 做科学计算,自学一年,也记了一年的笔记。

附上笔记的链接:

GitHub - 中文 Python 笔记

Jupyter Notebook - 中文 Python 笔记

就我个人而言,主要的感受如下:

English is important.
大部分的文档,帮助都是英文的,很多函数的命名都与英文意思相关,不学好英文怎么行。中文翻译版?呵呵,我反正是不看的。
Try it yourself.
很多事情要自己动手做一遍才有感觉,光靠看是没有用的。不试试怎么知道这东西怎么用,有多少种用法?
Ipython Notebook (or Jupyter Notebook) is useful.
不得不说,Ipython Notebook 是用来学习 Python 的好工具,既可以看别人的说明和结果,又可以自己尝试,比那些只能看不能玩的教程好多了。
Start coding in Python.
学了那么多东西之后,会用才是王道啊。而且,大部分教程中给的实例都不会很复杂,一到实用的部分,肯定会有很多新问题出现,搞定这些新问题,你的水平肯定又上了一个台阶。
Learn how to find code.
因为用 Python 的人很多很多,基本上你能想到的功能,都会有现成的实现,造轮子不如用轮子啊。

附上现在笔记的目录:

01. Python 工具
01.01 Python 简介
01.02 Ipython 解释器
01.03 Ipython notebook
01.04 使用 Anaconda
02. Python 基础
02.01 Python 入门演示
02.02 Python 数据类型
02.03 数字
02.04 字符串
02.05 索引和分片
02.06 列表
02.07 可变和不可变类型
02.08 元组
02.09 列表与元组的速度比较
02.10 字典
02.11 集合
02.12 不可变集合
02.13 Python 赋值机制
02.14 判断语句
02.15 循环
02.16 列表推导式
02.17 函数
02.18 模块和包
02.19 异常
02.20 警告
02.21 文件读写
03. Numpy
03.01 Numpy 简介
03.02 Matplotlib 基础
03.03 Numpy 数组及其索引
03.04 数组类型
03.05 数组方法
03.06 数组排序
03.07 数组形状
03.08 对角线
03.09 数组与字符串的转换
03.10 数组属性方法总结
03.11 生成数组的函数
03.12 矩阵
03.13 一般函数
03.14 向量化函数
03.15 二元运算
03.16 ufunc 对象
03.17 choose 函数实现条件筛选
03.18 数组广播机制
03.19 数组读写
03.20 结构化数组
03.21 记录数组
03.22 内存映射
03.23 从 Matlab 到 Numpy
04. Scipy
04.01 SCIentific PYthon 简介
04.02 插值
04.03 概率统计方法
04.04 曲线拟合
04.05 最小化函数
04.06 积分
04.07 解微分方程
04.08 稀疏矩阵
04.09 线性代数
04.10 稀疏矩阵的线性代数
05. Python 进阶
05.01 sys 模块简介
05.02 与操作系统进行交互:os 模块
05.03 CSV 文件和 csv 模块
05.04 正则表达式和 re 模块
05.05 datetime 模块
05.06 SQL 数据库
05.07 对象关系映射
05.08 函数进阶:参数传递,高阶函数,lambda 匿名函数,global 变量,递归
05.09 迭代器
05.10 生成器
05.11 with 语句和上下文管理器
05.12 修饰符
05.13 修饰符的使用
05.14 operator, functools, itertools, toolz, fn, funcy 模块
05.15 作用域
05.16 动态编译
06. Matplotlib
06.01 Pyplot 教程
06.02 使用 style 来配置 pyplot 风格
06.03 处理文本(基础)
06.04 处理文本(数学表达式)
06.05 图像基础
06.06 注释
06.07 标签
06.08 figures, subplots, axes 和 ticks 对象
06.09 不要迷信默认设置
06.10 各种绘图实例
07. 使用其他语言进行扩展
07.01 简介
07.02 Python 扩展模块
07.03 Cython:Cython 基础,将源代码转换成扩展模块
07.04 Cython:Cython 语法,调用其他C库
07.05 Cython:class 和 cdef class,使用 C++
07.06 Cython:Typed memoryviews
07.07 生成编译注释
07.08 ctypes
08. 面向对象编程
08.01 简介
08.02 使用 OOP 对森林火灾建模
08.03 什么是对象?
08.04 定义 class
08.05 特殊方法
08.06 属性
08.07 森林火灾模拟
08.08 继承
08.09 super() 函数
08.10 重定义森林火灾模拟
08.11 接口
08.12 共有,私有和特殊方法和属性
08.13 多重继承
09. Theano
09.01 Theano 简介及其安装
09.02 Theano 基础
09.03 Theano 在 Windows 上的配置
09.04 Theano 符号图结构
09.05 Theano 配置和编译模式
09.06 Theano 条件语句
09.07 Theano 循环:scan(详解)
09.08 Theano 实例:线性回归
09.09 Theano 实例:Logistic 回归
09.10 Theano 实例:Softmax 回归
09.11 Theano 实例:人工神经网络
09.12 Theano 随机数流变量
09.13 Theano 实例:更复杂的网络
09.14 Theano 实例:卷积神经网络
09.15 Theano tensor 模块:基础
09.16 Theano tensor 模块:索引
09.17 Theano tensor 模块:操作符和逐元素操作
10. 有趣的第三方模块
10.01 使用 basemap 画地图
10.02 使用 cartopy 画地图
10.03 探索 NBA 数据
11. 有用的工具
11.01 pprint 模块:打印 Python 对象
11.02 pickle, cPickle 模块:序列化 Python 对象
11.03 json 模块:处理 JSON 数据
11.04 glob 模块:文件模式匹配
11.05 shutil 模块:高级文件操作
11.06 gzip, zipfile, tarfile 模块:处理压缩文件

其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。配置开发环境也不是很复杂,mac和linux都内置了python。另外据我所知,不少学校也开始使用python来教授程序设计课程。
关于自学python,个人最大的3点经验:
找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。我当时看的是《简明python教程》,不过这本书不是非常适合零基础初学者。
去找一个实际项目练手。我当时是因为要做一个网站,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。
最好能找到一个已经会python的人。问他一点学习规划的建议,然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。
然而,别人的经验未必能完全复制。比如我没有说的是,在自学python之前,我已在学校系统学习过其他的编程语言。
对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,比如:
从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了;
缺少计算机基础知识,被一些教程略过的“常识性”问题卡住;
遇到问题不知道怎么寻找解决方案;
看懂语法之后不知道拿来做什么,学完一阵子就又忘了;
缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段。
所以除了前面说的3点经验,给初学编程者的额外建议:
首先要有信心。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。
选择合适的教程。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。
写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。
除了学习编程语言,也兼顾补一点计算机基础,和英语。
不但要学写代码,还要学会看代码,更要会调试代码。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。
学会查官方文档,用好搜索引擎和开发者社区。
现在有很多人都想学一点编程,但是直接看教程又有点太难下手。

学习可以按照以下路线进行:
阶段一:Python开发基础
Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。
阶段二:Python高级编程和数据库开发
Python全栈开发与人工智能之Python高级编程和数据库开发知识学习内容包括:面向对象开发、Socket网络编程、线程、进程、队列、IO多路模型、Mysql数据库开发等。
阶段三:前端开发
Python全栈开发与人工智能之前端开发知识学习内容包括:Html、CSS、JavaScript开发、Jquery&bootstrap开发、前端框架VUE开发等。
阶段四:WEB框架开发
Python全栈开发与人工智能之WEB框架开发学习内容包括:Django框架基础、Django框架进阶、BBS+Blog实战项目开发、缓存和队列中间件、Flask框架学习、Tornado框架学习、Restful API等。
阶段五:爬虫开发
Python全栈开发与人工智能之爬虫开发学习内容包括:爬虫开发实战。
阶段六:全栈项目实战
Python全栈开发与人工智能之全栈项目实战学习内容包括:企业应用工具学习、CRM客户关系管理系统开发、路飞学城在线教育平台开发等。
阶段七:数据分析
Python全栈开发与人工智能之数据分析学习内容包括:金融量化分析。
阶段八:人工智能
Python全栈开发与人工智能之人工智能学习内容包括:机器学习、图形识别、无人机开发、无人驾驶等。
阶段九:自动化运维&开发
Python全栈开发与人工智能之自动化运维&开发学习内容包括:CMDB资产管理系统开发、IT审计+主机管理系统开发、分布式主机监控系统开发等。
阶段十:高并发语言GO开发
Python全栈开发与人工智能之高并发语言GO开发学习内容包括:GO语言基础、数据类型与文件IO操作、函数和面向对象、并发编程等。

想要系统的自学Python,就要有一套系统的学习Python的视频教程,如果是0基础,可以先从Python基础课程学习,学习的过程中要边看视频,边动手操作,入门之后,可以找一些实践试题做一做,多思考原理,这样就能从根本上学会Python,学习的后期要动手做项目,毕竟Python技术的掌握是要从实践中来的,只要你能坚持,动手能力强,智商还算正常,学好Python就不是什么问题的!

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网