Python我第一次听说的时候, 觉得不错, 毕竟代码缩进的很规范.

我以前很想学python的, 只是除了加减乘除在IDLE里弄完了之后, 觉得没什么意思, 就卸载了.

装了, 卸载, 后来再装, 又卸载了, 就这样, 倒腾了很多回, 还仅仅是了解了python的基本数据结构和流程.

后来我又开始学python了, 这会是web的原因, 主要是看到了zope, 一个web开发框架.费老劲才装上zope, 启动了, 然后开始折腾zope, 这是要命的节奏. 发现跟python没什么大关系, 就是折腾zope自己的那一套, 什么DHTML, 插件, 插件没学会, 因为根本就不知如何下手, 以及怎么开始. 再加上zope做出来的网站那个丑啊, 简直是我见过最丑的框架了. 我果断放弃折腾zope以及zope自带的什么CMS了.

zope装了, 卸载, 又装又卸载, 共弄了2次, 彻底死心了.

换k开头的那个python web框架, 我记不清楚名字了. 弄了几天, 觉得还有点意思.

谁让我发现了django呢?

发现了django, 全拜google搜索引擎

然后开始学django, 官方文档4章学完, 跟没学似的.

到处找教程, 直到看到了limodou的, 比较类似于我们平常开发web的那种流程, 总算是学会了django中的几个模块如何使用, django的流程是怎么走的.

可惜的是limodou后来觉得django不好, 自己开发uliweb去了.所以一直没更新.

剩下的就是, 通过django, 我开始深入的学习python.

学了, 回头再重新看django官方教程, 就是那4章, 终于搞明白了, 为什么要那样用.

剩下的事情, 就是围绕一个网站, 用django实现自己想要的功能, 天天摸, 终于在学会django的同时, 也学会了python.

仅仅通过django学会python还是不够的.

剩下的就是爬虫了, 通过用python写些小爬虫, 可以学到http协议, 正则表达式, 一些好用的网络库比如beautifulsoup, requests, httplib2等等.通过不断的调试, 慢慢掌握了基本的爬虫编写技能.

可以说, 会写点小爬虫, 说明python真的已经入门了.

我也早期建立了一个python每天交流学习輑,先搜索301然后在搜索056,在继续搜索051你就可以找到组织,在群里大家相互帮助,相互分享,会有很多资料,可以让我们一起学习,共同进不去,你来不来是你自己的事情,反正我们在里面每天都在研究相关的内容,我是觉得很不错。

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

语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。

切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且愿意投入时间的。

废话不多说,学会一门语言的捷径只有一个: Getting Started

¶ 起步阶段

任何一种编程语言都包含两个部分:硬知识和软知识,起步阶段的主要任务是掌握硬知识。

°1 硬知识

“硬

知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一

种语法,实际是建立了一种思维。例如:让一个 Java 程序员去学习 Python,他可以很快的将 Java 中的学到的面向对象的知识 map 到

Python 中来,因此能够快速掌握 Python 中面向对象的特性。

如果你是刚开始学习编程的新手,一本可靠的语法书是非常重要的。它看上去可能非常枯燥乏味,但对于建立稳固的编程思维是必不可少。

下面列出了一些适合初学者入门的教学材料:

❖「笨方法学 Python」:Learn Python the Hard Way

这本书在讲解 Python 的语法成分时,还附带大量可实践的例子,非常适合快速起步。

❖「廖雪峰的 Python 2.7 教程」:Home - 廖雪峰的官方网站

Python 中文教程的翘楚,专为刚刚步入程序世界的小白打造。

❖「The Hitchhiker’s Guide to Python!」:The Hitchhiker’s Guide to Python!

这本指南着重于 Python 的最佳实践,不管你是 Python 专家还是新手,都能获得极大的帮助。

❖「Python 官方文档」:Our Documentation

实践中大部分问题,都可以在官方文档中找到答案。

❖ 辅助工具:Python Tutor

一个 Python 对象可视化的项目,用图形辅助你理解 Python 中的各种概念。

Python 的哲学:

用一种方法,最好是只有一种方法来做一件事。

学习也是一样,虽然推荐了多种学习资料,但实际学习的时候,最好只选择其中的一个,坚持看完。

必要的时候,可能需要阅读讲解数据结构和算法的书,这些知识对于理解和使用 Python 中的对象模型有着很大的帮助。

°2 软知识

“软知识”则是特定语言环境下的语法技巧、类库的使用、IDE的选择等等。这一部分,即使完全不了解不会使用,也不会妨碍你去编程,只不过写出的程序,看上去显得“傻”了些。

这些知识的学习,取决于你尝试解决的问题的领域和深度。对初学者而言,起步阶段极易走火,或者在选择 Python 版本时徘徊不决,一会儿看 2.7

一会儿又转到 3.0,或者徜徉在类库的大海中无法自拔,Scrapy,Numpy,Django

什么都要试试,或者参与编辑器圣战、大括号缩进探究、操作系统辩论赛等无意义活动,或者整天跪舔语法糖,老想着怎么一行代码把所有的事情做完,或者去构想

圣洁的性能安全通用性健壮性全部满分的解决方案。

很多“大牛”都会告诫初学者,用这个用那个,少走弯路,这样反而把初学者推向了真正的弯路。

还不如告诉初学者,学习本来就是个需要你去走弯路出 Bug,只能脚踏实地,没有奇迹只有狗屎的过程。

选择一个方向先走下去,哪怕脏丑差,走不动了再看看有没有更好的解决途径。

自己走了弯路,你才知道这么做的好处,才能理解为什么人们可以手写状态机去匹配却偏要发明正则表达式,为什么面向过程可以解决却偏要面向对象,为什么我可以操纵每一根指针却偏要自动管理内存,为什么我可以嵌套回调却偏要用 Promise...

更重要的时,你会明白,高层次的解决方法都是对低层次的封装,并不是任何情况下都是最有效最合适的。

技术涌进就像波浪一样,那些陈旧的封存已久的技术,消退了迟早还会涌回的。就像现在移动端应用、手游和 HTML5 的火热,某些方面不正在重演过去 PC 的那些历史么?

因此,不要担心自己走错路误了终身,坚持并保持进步才是正道。

起步阶段的核心任务是掌握硬知识,软知识做适当了解,有了稳固的根,粗壮的枝干,才能长出浓密的叶子,结出甜美的果实。

¶ 发展阶段

完成了基础知识的学习,必定会感到一阵空虚,怀疑这些语法知识是不是真的有用。

没错,你的怀疑是非常正确的。要让 Python 发挥出它的价值,当然不能停留在语法层面。

发展阶段的核心任务,就是“跳出 Python,拥抱世界”。

在你面前会有多个分支:科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,这些都不是仅仅知道 Python 语法就能解决的问题。

爬虫举例,如果你对计算机网络,HTTP协议,HTML,文本编码,JSON一无所知,你能做好这部分的工作么?而你在起步阶段的基础知识也同样重要,如

果你连循环递归怎么写都还要查文档,连 BFS 都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。

在这个阶段,不可避免要接触大量类库,阅读大量书籍的。

°1 类库方面

「Awesome Python 项目」:vinta/awesome-python · GitHub

这里列出了你在尝试解决各种实际问题时,Python 社区已有的工具型类库,如下图所示:

你可以按照实际需求,寻找你需要的类库。

至于相关类库如何使用,必须掌握的技能便是阅读文档。由于开源社区大多数文档都是英文写成的,所以,英语不好的同学,需要恶补下。

°2 书籍方面:

这里我只列出一些我觉得比较有一些帮助的书籍,详细的请看豆瓣的书评:

科学和数据分析:

❖「集体智慧编程」:集体智慧编程 (豆瓣)

❖「数学之美」:数学之美 (豆瓣)

❖「统计学习方法」:统计学习方法 (豆瓣)

❖「Pattern Recognition And Machine Learning」:Pattern Recognition And Machine Learning (豆瓣)

❖「数据科学实战」:数据科学实战 (豆瓣)

❖「数据检索导论」:信息检索导论 (豆瓣)

爬虫:

❖「HTTP 权威指南」:HTTP权威指南 (豆瓣)

Web 网站:

❖「HTML & CSS 设计与构建网站」:HTML & CSS设计与构建网站 (豆瓣)

...

列到这里已经不需要继续了。

聪明的你一定会发现上面的大部分书籍,并不是讲 Python 的书,而更多的是专业知识。

事实上,这里所谓“跳出 Python,拥抱世界”,其实是发现 Python 和专业知识相结合,能够解决很多实际问题。这个阶段能走到什么程度,更多的取决于自己的专业知识。

¶ 深入阶段

这个阶段的你,对 Python 几乎了如指掌,那么你一定知道 Python 是用 C 语言实现的。

可是 Python 对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开 Python 的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。

这里推荐一本书:

「Python 源码剖析」:Python源码剖析 (豆瓣)

这本书把 Python 源码中最核心的部分,给出了详细的阐释,不过阅读此书需要对 C 语言内存模型和指针有着很好的理解。

外,Python 本身是一门杂糅多种范式的动态语言,也就是说,相对于 C 的过程式、 Haskell 等的函数式、Java

基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在 Python

中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到 Python 语言的根源。

这里推荐一门公开课

「编程范式」:斯坦福大学公开课:编程范式

讲师高屋建瓴,从各种编程范式的代表语言出发,给出了每种编程范式最核心的思想。

值得一提的是,这门课程对C语言有非常深入的讲解,例如C语言的范型和内存管理。这些知识,对阅读 Python 源码也有大有帮助。

Python 的许多最佳实践都隐藏在那些众所周知的框架和类库中,例如 Django、Tornado 等等。在它们的源代码中淘金,也是个不错的选择。

¶ 最后的话

每个人学编程的道路都是不一样的,其实大都殊途同归,没有迷路的人只有不能坚持的人。虽然听上去有点鸡汤,但是这是事实。

希望想学 Python 想学编程的同学,不要犹豫了,看完这篇文章,Just getting started~

教孩子学python 豆瓣_你是如何自学 Python 的?相关推荐

  1. 笨方法学python豆瓣_资料 | 笨办法学Python

    以下书籍介绍来自豆瓣 内容简介  · · · · · · 本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用.这本书以习题的方式引导读者一步一步学习编程, ...

  2. python孩子自学_孩子也能自学Python,掌握方法入门快

    孩子初学编程从什么开始入门比较好?其实Python是不错的选择,相比于其他主流的编程语言,Python具有更好的可读性,所以上手也相对比较容易,而且在这个人工智能时代,Python的发展前景也毋庸置疑 ...

  3. 孩子学python用的笔记本电脑_教孩子学Python 后的一点感受

    先说一下孩子的情况.男孩儿,10岁,在学校上过scratch 的课:喜欢音乐和表演,是学校英文戏剧社成员:数学和语文成绩中等:贪玩儿,不会安排自己的事情.概括来说,就是一只普通孩子(和我小时候一样 L ...

  4. python小海龟画房子编程_教孩子学Python编程之海龟画图(一)

    大家好,我是践行计算机教育刘老师,很高兴跟大家分享Python编程,建议5年级以上的学生学习.父母也可以陪着孩子一起学习Python编程,对于孩子学编程起到监督和辅助学习.下载我们Python编程工具 ...

  5. 与小卡特一起学python 豆瓣_《父与子的编程之旅:与小卡特一起学Python》

    原标题:<父与子的编程之旅:与小卡特一起学Python> 内容简介 本书是一本家长与孩子共同学习编程的入门书.作者是一对父子,他们以Python语言为例,详尽细致地介绍了Python如何安 ...

  6. 与小卡特一起学python 豆瓣_父与子的编程之旅:与小卡特一起学Python

    第1章 出发吧 1.1 安装Python 1.2 从IDLE启动Python 1.3 来点指令吧 1.4 与Python交互 1.5 该编程了 1.6 运行你的第一个程序 1.7 如果出问题 1.8 ...

  7. 外星人颜色python练习_在知乎上学Python爬虫

    有很多人正在入门Python爬虫,学习Python爬虫.在这个过程中,会遇到很多难题,许多小伙伴都会去寻找答案,但是因为答案的纷繁复杂和种类多样,往往要花上好些时间. 而码不理经常会在知乎上寻找学习问 ...

  8. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

  9. 六星教育python怎么样_六星教育:Python怎么学?自学Python经验分享

    近些年,随着人工智能.大数据.自动化运维等行业的兴起,Python在编程方向上得天独厚的优势也凸显出来.随着Python工程师需求的日益增多,Python薪资也随之水涨船高.学习Python的同学越来 ...

最新文章

  1. CRUD之delete操作
  2. python画直方图成绩分析-使用Python进行描述性统计
  3. Delphi中关于Rtti的一些操作(一)
  4. 梅捷主板A780G+不支持前面板耳机输出?
  5. GraphPad轻松绘制配对比较图和双向柱状图
  6. Docker是什么?使用Docker的好处有哪些?
  7. android 单位转换工具,Android单位转换----常用单位转换工具类
  8. 【HTML+CSS】练习:百度首页模拟
  9. SAP Spartacus ProductService.get的几个调用场景
  10. 大数据能否力挽国足败落狂澜?
  11. 捕获异常VS抛出异常
  12. LEADTOOLS概览
  13. 吴恩达|机器学习作业2.1正则化的Logistic回归
  14. python的zipfile压缩文件夹_python zipfile压缩使用说明
  15. 基于DenseNet和自注意机制融合的脐橙病虫害鉴定(DenseNet加入注意力+自然数据集扩大)
  16. 用VS调试 javascript
  17. 数据库信息泄漏 不可忽视的安全短板
  18. Unity 卡通渲染 part-1
  19. android启动第三方浏览器问题
  20. c语言定时器实验程序,89C51单片机实验三 定时器实验

热门文章

  1. 爬虫第六课:爬取携程酒店数据
  2. ARM全国产云平台部署容器实战
  3. GOIP网关未注册到网络正在搜寻网络解决方法鼎信通达UC2000
  4. python100到200的素数_python二级题库12–100到200的素数
  5. Spring MVC 在JSP中获取 Service或Dao
  6. 知识图谱---echarts关系图
  7. 我的Echarts学习笔记(Update)
  8. 天猫精灵AliGenie平台,Oauth token返回不正确解决方式
  9. 虚拟机远程工具MobaXterm(Network error: Connection timed out问题)以及虚拟机无IP地址和NetWork失效问题
  10. Cisco IP电话软件的WINRTP