事先知道将要学习哪些内容的意义。前一段时间,我看了比尔盖茨如何了解一个新领域的方法的一个小视频,很短(大概2分钟),但是启发很大。他讲,自己去了解某个领域的时候(比如一本书),就会事先弄清要掌握的内容(好好看目录),然后往里边填充具体的东西(读书)。好比是盖房子,先搭框架,然后填充空格。他强调了搭框架的重要性。而这个,我之前是不会太在意的。往往是学完后,在梳理的时候才会去总结。后来,我尝试按照比尔盖茨的方法进行学习,实践证明,觉得确实挺有效果。所以,我打算在即将撰写的python学习教程中同样使用该方法。本文要完成的任务既是搭框架。当然,要说明的一点是,每个人的学习方法不一样,这个方法不一定适用于你。
这是一张如何学习python的思维导图。后面的教程中我将按照这些内容依次展开。当然,你还可以按照这个图从其它地方查阅资料来填充内容。如果掌握了1和2两部分,那么恭喜你,你已经打下了很好的基础。如果你是一个科研人员,特别是你想用python替代matlab,那么你再学习第3部分。如果你致力于成为一名python程序员,那么你需要学习第4部分中的内容,其中熟练掌握任意一个都可以。特别说明,近年来,深度学习和网络编程是很火的。
Python.jpeg
上图中已经对某些内容就学习意义方面做了简要的介绍,你如果能够明白这些关键词的意义,那么不需要再往下阅读,以免浪费你的时间。下面是我对这些关键词做进一步的解释。
python
我想能看到这篇文章的人,十有八九是明白这是个什么。但是我还是要唠叨两句。python是一门编程语言,和c、java、matlab、php等一样。编程语言的作用是帮助人们利用计算机解决问题的。比如计算算式的值,构建网站,软件等。每一门语言的侧重点不同,c语言号称是母语,因为很多语言都是基于c语言开发的,python也是一门基于c的语言,matlab偏重于数值计算,PHP偏重网络编程,而python俗称一门“胶水”语言,意思是能够协同很多其它语言一起工作,比如与c语言混合编程,也就是功能很强,什么都能干。python以简洁出名,所以特别适合新手学习。这里的新手不仅仅是指对python不懂的,更是指对编程不懂的人。比如现在很多小孩学习编程就是用python。很多大学生的编程入门也是用python。并且python有很多第三方库,能够极大的节省开发时间。因而,python近年来流行指数大涨,而国内之前主要是用java,python人才也是较为短缺。所以,大家学python,有钱景。
环境配置
python语句需要在python的解释器帮助下执行,这个环境主要是指python的解释器CPython。
pip是包管理器的简称,用于安装第三方包。这些第三方包是别人已经开发好的用于解决某一具体问题的代码集锦。
调试功能对于编程来讲很重要,一是解决bug,二是弄明白程序执行过程。当程序变得复杂的时候,特别有用。当然,大神程序员不需要这个。我不是大神。
语法
语法就是语言规则。
输入输出。我们使用程序要解决问题,这个问题可以抽象为一个盒子(函数),在一端将输入“数据”给它,它在另一端输出。形式有多种多样,有在终端进行交互的(input和print),也有通过文件进行交互的。
变量。程序中,用变量代表输入输出。python内置了基本复杂的变量,也就是通常讲的数据结构。数据结构,故名思议,将数据有结构的组织起来。比如一个数列。
条件是程序为了适用多种情况,进行逻辑判断的语法。
循环是为了适用于一些复杂的数据结构,比如对一个数列中的每一个数进行相同操作,将相似的步骤合并。
函数和类是python组织代码的两种形式。他们都将完成某一个功能的代码集结到一起,为了方便理清程序逻辑,复用。比如将计算一组数的平均值作为一个函数,那么在以后每次计算平均值,都只需要调用这个函数即可。再比如实现一个表示狗的类,那么在需要有狗的地方,只要新建一个狗的对象即可。
高级部分里的闭包、装饰器和设计模式等都是一些为了方便完成特定任务而给出的方法。特别是设计模式,对于所有的高级语言(面向对象编程的语言)都是适用的。
科学计算是指用于高等代数、物理问题求解的计算。numpy和scipy主要用于计算,而matplotlib用于图形绘制。这三个都是第三方包的名称。我们要使用这些的前提是两个:一、已掌握解决问题的数学方法。二、已掌握这些第三方库的使用方法。
应用中给出的四个常见的应用。深度学习是为了实现人工智能,桌面程序是传统的电脑桌面软件,网络编程是构建网站,运维主要是服务器端维护。这些都有成熟的第三方库(运维我不知道)。要从事这些方面的工作的前提与科学计算类似。编程只是我们完成某一项任务的手段,关键在于一、清楚怎样完成任务(数学物理方法),二、如何完成以及更好的完成(编程技巧)。
框架已经建立,接下来进行填空。我们首先会对语法部分进行重点介绍,因为这是科学计算和应用的前提。然后再将每一个应用详解。
网友评论