起步阶段

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

1.硬知识

“硬知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一种语法,实际是建立了一种思维。例如:让一个Java程序员去学习Python,他可以很快的将Java中的学到的面向对象的知识map 到Python中来,因此能够快速掌握

Python中面向对象的特性。

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

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

这本书在讲解Python 的语法成分时,还附带大量可实践的例子,非常适合快速起步。(2)「The Hitchhiker' s Guide to Python!」 : The Hitchhiker's Guide toPython!

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

(3)「Python官方文档」: Our Documentation实践中大部分问题,都可以在官方文档中找到答案。(4)辅助工具:Python Tutor

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

⒉.软知识

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

对这些知识的学习,取决于你尝试解决的问题的领域和深度。对初学者而言,起步阶段极易走火,或者在选择Python版本时徘徊不决,一会儿看2.7一会儿又转到3.0,或者徜徉在类库的大海中无法自拔,Scrapy,Numpy,Django 什么都要试试,或者参与编辑器圣战、大括号缩进探究、操作系统辩论赛等无意义活动,或者整天跪舔语法糖,老想着怎么一行代码把所有的事情做完,或者去构想圣洁的性能安全通用性健壮性全部满分的解决方案。

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

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

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

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

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

技术涌进就像波浪一样,那些陈旧的封存已久的技术,消退了迟早还会涌回的。就像现在移动端应用、手游和HTML5的火热,某些方面不正在重演过去PC的那些历史么?因此,不要担心自己走错路误了终身,坚持并保持进步才是正道。

发展阶段

完成了基础知识的学习,必定会感到一阵空虚,怀疑这些语法知识是不是真的有用。没错,你的怀疑是非常正确的。要让Python 发挥出它的价值,当然不能停留在语法层面。

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

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

拿爬虫举例,如果你对计算机网络,HTTP协议,HTML,文本编码,JSON一无所知,你能做好这部分的工作么?而你在起步阶段的基础知识也同样重要,如果你连循环递归怎么写都还要查文档,连BFS都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。

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

类库方面

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

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

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

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

Science and Data Analysis

Libraries for scientific computing and data analyzing.

astropy - A community Python library for Astronomy.

· bcbio-nextgen - A toolkit providing best-practice pipelines for fully automated high throughput

sequencing analysis.

bccb - Collection of useful code related to biological analysis.

Biopython - Biopython is a set of freely available tools for biological computation.blaze -NumPy and Pandas interface to Big Data.

· cclib - A library for parsing and interpreting the results of computational chemistry packages.NetworkX- A high-productivity software for complex networks.

Neupy - Running and testing different Artificial Neural Networks algorithms.

Numba - Python JIT (just in time) complier to LLVM aimed at scientific Python by the developersof Cython and NumPy.

NumPy - A fundamental package for scientific computing with Python.

. Open Babel - A chemical toolbox designed to speak the many languages of chemical data.. Open Mining - Business Intelligence (BI) in Python (Pandas web interface)

orange - Data mining, data visualization, analysis and machine learning through visualprogramming or Python scripting.

·Pandas - A library providing high-performance, easy-to-use data structures and data analysis

tools.

· PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamicmotion based around NumPy,SciPy, IPython, and matplotlib.

.PyMC-Markov Chain Monte Carlo sampling toolkit.

S规指南

·RDKit - Cheminformatics and Machine Learning Software.

.SciPy - A Python-based ecosystem of open-source software for mathematics, science, and

2.书籍方面:

这里我只列出一些我觉得比较有一些帮助的书籍,详细的请看豆瓣的书评:「集体智慧编程」∶集体智慧编程(豆瓣)

「数学之美」︰数学之美(豆瓣)

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

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

「数据科学实战」︰数据科学实战(豆瓣)「数据检索导论」︰信息检索导论(豆瓣)爬虫:

「HTTP权威指南」:HTTP权威指南(豆瓣)Web 网站:

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

学习视频:学习视频方面前途APP可以为你通过丰富的相关视频教程,还有其他方面内容…

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

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

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

深入阶段

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

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

这里推荐—本书:

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

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

另外,Python本身是一门杂糅多种范式的动态语言,也就是说,相对于C的过程式、Haskell等的函数式、Java基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在Python中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到 Python语言的根源。

若是学的迷茫了的话可以找一个老师来教教你,可以选择整体流程的那些学习班,也可以选择哪种按小时来收费的老师,看个人需要,或者说认识一下会python的大佬可以去进行请教一下。

自学python能干什么知乎_自学Python迷茫了怎么办?相关推荐

  1. 自学python能干什么知乎_自学python能干什么

    自学python能干什么? 1,比如可以做web应用开发 在国内,豆瓣一开始就使用Python作为web开发基础语言,知乎的整个架构也是基于Python语言,这使得web开发这块在国内发展的很不错. ...

  2. python入门神器 知乎_如何处理 Python 入门难以进步的现象?

    我去年十月份利用工作空闲时间开始自学Python,今年四月份找到一个Python工程师的工作,你的困惑我也有过,相信很多自学的人都有这个困惑,我现在也会有这个困惑.最重要,最重要,最重要的是:去工作, ...

  3. python底层原理 知乎_用Python写代码,一分钟搞定一天工作量,同事直呼:好家伙...

    来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 前几天有一个读者说最近要整理几千份文件,头都要整秃了,不知道能不能用Python解决,我们来看一下,你也可以思考一下. 由于涉及文件私密 ...

  4. python爬虫设计在哪里_《python 爬虫教程 知乎》 怎样用Python设计一个爬虫模拟登陆知乎...

    <python 爬虫教程 知乎> 怎样用Python设计一个爬虫模拟登陆知乎 python 爬虫教程 知乎2020-09-23 01:45:13人已围观 怎样用Python设计一个爬虫模拟 ...

  5. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  6. 学python编程好就业吗_自学Python编程开发靠谱吗 就业前景怎么样

    人工智能行业学习Python编程到底有多么重要,新人在学习Python的时候改如何选择,就业方向有哪些?想要了解这些,现在我们今天就来看看Python的主要开发领域以及每个岗位对应的薪资. Pytho ...

  7. 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据

    原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...

  8. python web server 知乎_“知乎网”技术方案初探

    知乎的整个网站架构图如下: 知乎是国内很少的使用Python开发的一个网站,也很多值得我们学习的地方,从知乎让我们也可以了解到一些新的WEB技术. 一.Python框架 知乎目前使用的是Tornado ...

  9. python的就业前景如何_学Python能干什么工作?工作前景怎么样?

    Python作为当下火热的编程语言,深受程序员的喜爱和欢迎.因此现在选择Python的学习者越来越多了,不仅仅因为Python作为编程语言自身的优点,还因为其工作岗位的薪水和待遇一直在水涨船高.那么学 ...

最新文章

  1. oracle 整个表空间迁移,oracle11g迁移表空间
  2. 串口不通或乱码,排查方法
  3. python pyqt5 线程 暂停 重启_如何在PyQT5中暂停/播放线程?
  4. remote Incorrect username or password ( access token ):用户名或密码不正确(访问令牌)
  5. java后端分页查询_java后端分页方案
  6. 大众汽车宣布联手AWS开发汽车工业云
  7. linux异步事件框架,基于Cortex-M系列CPU的异步事件驱动中间件
  8. Linux上安装JDK
  9. C#2种类型时间戳(秒时间戳、毫秒时间戳)
  10. 李雅普诺夫指数的计算
  11. bat转换成exe文件:bat2exe
  12. 深度学习分类常见评价指标:accuracy recall precision specificity sensitivity AUC ROC 曲线
  13. eclipse快捷键使用以及一些小机灵
  14. 【HDU 6608】Fansblog(威尔逊定理+逆元+快速乘+快速幂)
  15. SQL server安装时:“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误
  16. 享受还是行走,这是一个问题。
  17. Android 边边角角
  18. 一键清除苹果锁屏密码_极品苹果手机解锁软件ios解锁大师苹果手机锁屏密码忘了不用愁...
  19. 表格法轻松理解扩展欧几里得算法以及利用其求乘法逆元
  20. 山西省初中计算机教案,初中信息教学计划

热门文章

  1. ksweb nat123 手机Android建站解析
  2. 常用设计模式——职责链模式
  3. linux下libnng的移植
  4. Linux环境配置-Tomcat
  5. CC2530的ADC工作原理与应用
  6. Unity 发布Android版,通过WPS Office打开word、excel、pdf等进行浏览
  7. 50行代码,实现AI文章生成器,牛逼!
  8. 单片机简易电子钟设计c语言,基于51单片机的简易电子钟设计
  9. 计算机二级ms用wps,【计算机二级MS office与WPS office考试内容的区别】- 环球网校...
  10. 《微型计算机系统》教学设计,微型计算机基本操作教案.doc