Python 教程——编程语言

现有的大部分Python 教程通常都是简单介绍一下Python的用处,而后就开始讲数据结构、控制流、文件输入输出、异常等,那对于一些彻底不了解什么是编程语言的朋友来讲,就会很难迅速的进入状态。因此本文主要想介绍一下什么是编程语言以及Python的主要组成部分,让你们在学习Python的过程当中不会以为迷茫。 有了这样的一个大的框架以后,就好像打游戏的时候的地图同样,让你们在学习的过程知道本身每一步处在什么位置,以及目标在哪里。html

1. 编程语言的定义sql

根据维基百科的介绍,编程语言是是用来定义计算机程序形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。举个例子,好比一个中国人要和一个美国人交流的时候,会选择使用英语来交流,因这样双方才能互相理解,那么人类要和计算机交流的时候,应该用什么语言呢?这种语言,咱们称之为是编程语言。数据库

2. 低级语言和高级语言编程

咱们知道,计算机只能理解二进制,那使用二进制给机器发送指令的方式就是机器语言(binary language),这是最底层的语言,机器执行起来也最快,可是对于咱们人类来讲,若是要经过0000 来 告诉计算器去Load,用0001 来告诉计算机去存储,甚至还要根据计算机处理器的位数来改指令,只怕脑子要爆炸。所以以后提出了汇编语言(assembly language),汇编语言是二进制指令的文本形式,与指令是一一对应的关系。好比,加法指令00000011写成汇编语言就是 ADD。 汇编语言比机器语言稍微好懂了一点,可是依然更为接近机器的理解模式而不是人类的理解模式。这些语言咱们称之为低级语言(Low level language),由于人类比较难理解他们。在此以后,针对不一样的应用,不一样的目的,为了让人类能够更容易的学习和编写程序,人们提出了成千上万种高级编程语言( high level language)。比较主流的高级语言有C,C++,C#,Java,Python,Perl,HTML,Javascript,Objective C等等。C主要用来写操做系统,Java主要用来写服务器,大数据,安卓app开发等,html写网页(html彷佛也不能算做一门语言)。这些语言都比较相似英语的语法,因此对于人类来讲都更为容易理解和学习。Python相对于C和C++来讲更为高级一点,也就是更为接近人类的理解,更为容易学习 。服务器

3.  Python的组成网络

上面提到编程语言的目的是用来定义计算机程序,来让计算机执行咱们但愿他执行的一些操做,所以他们都有一些共通的部分,也就是几乎全部的编程语言都须要有的部分。主要是数据结构、输入输出、异常、流程控制、标准库和扩展库。数据结构

那么在一个项目中,这些组成部分的做用分别是怎么样的呢?我画了以下的一个图:app

 

 这幅图,咱们从里向外看,在最里面是一个相似于流程图的图,首先是输入,一般一个程序老是须要去处理一些什么东西,好比来自网络的请求,好比从网页上爬下来的数据,好比从数据库取出来的数据,好比一张图片,好比从文件读取出来的数据,好比用户输入的简单的名字或者数字等等等等。这个一般是一个程序的第一个步骤,获取这些输入,获得输入以后呢,咱们就须要把这个数据存储进去一个容器——数据结构。数据结构是用来存储数据的内存单元,Python里主要有三大类数据类型,第一类是基本数据类型(Basic data type),即数字(number)和字符串(string);第二类是Python内置的数据结构,即列表(List),元组(Tuple) 和 字典(Dict);第三类是类(class)。我认为这三类的关系是Class 能够包括 List,Tuple,Dict,Number和String, 而List,Tuple和Dict的元素能够由Number和String组成,其实也能够是一个对象,即Class的实例。三者之间是有种相辅相成的感受的。数据存储以后,咱们会须要进行一系列的计算操做等,那一般会须要去针对不一样的输入作不一样的操做,或者对同一个操做作不少次,这个时候就须要流程控制,Python中的流程控制主要包括了if/else, while, for 以及俩辅助的continue和break。当操做完成以后,咱们就能够把这个结果展现出来,这一步就是输出,能够输出到GUI上显示一个图或者一个数字,能够写出文件给用户后续使用,能够返回网络请求给客户端等等等等。这就是一般一个程序的流程。那么咱们也知道,在程序的运行过程当中可能会出现一些咱们在编写程序的时候并无意料到的问题,那遇到这些问题的时候,咱们可能但愿程序不要直接Crash,而是能够输出一些信息提示咱们有问题,或者不要crash而是进行第二次尝试等,因此Python提供了一个Exception类来把大部分已有的Exception归类,而且提供try/except来让用户进行异常的处理。 这就是一个程序的几乎所有的流程。框架

那么之因此咱们可使用到List Tuple Dict等等,而不用二进制或者汇编来表示咱们想要的数据结构,是由于Python提供了标准库,也就是Standard Library。这个标准库定义了咱们刚刚提到的前两类数据结构,定义了不少平常会用到的操做,好比针对字符串的查找,大小写检查,split等等,好比针对数学上的求共轭数,求幂等等。由于有了这个库,咱们才能更方便的写程序,而不用本身从头开始定义一些经常使用又很基础的方法(method)。编程语言

除了标准库以外,不少的开发者还开发出了许多有用又稳定的第三方库,好比pandas,sqlalchemy等等,这些库能够帮助你们更好更快速地开发。标准库和第三方库给全部的开发者提供了各方面的支持,是开发过程当中不可或缺的部分。

以上是我对Python和编程语言的理解,若是有问题,欢迎你们批评指正。

相关文章
相关标签/搜索