目录
一、编程是怎么来到我们这个世界的?
二、Python的由来?
三、什么是python?
3.1面向对象和面向过程
3.1.1面向对象
3.1.2 面向过程
3.2解释性
3.2.1 编译性
3.2.2 解释性
3.3交互式
四、Python3和Python2
五、python和其他语言之间的对比
六、python的优势
七、学python能做什么?
一、编程是怎么来到我们这个世界的?
当计算机来到我们这个世界之后,我们希望让计算机为我们做一些事情。但是它们听不懂我们在说什么,所以我们要用它们的语言去与它们进行对话,从而使得它们能够为我们所用。于是编程应运而生。
二、Python的由来?
Python诞生于1989年的一个圣诞节,但是第一个发行版本是在1991年发行的,其创作者Guido van Rossum为了打发圣诞节假期的无聊,便开始了Python语言的编写。起名为Python是源自于Guido喜欢的一档电视节目——Monty Python´s Flying Circus 。Guido在创作Python的时,希望有一种语言可以像C语言那样可以调用计算机的功能接口,又可以像shell那样进行轻松的编程,所以他在1989年的时候创建了Python这门编程语言。
①即使Guido已经准确的知道了如何用C语言实现这一功能,但整个编写过程需要耗费大量的时间,这使得他很不爽的第一条原因。
②我们知道linux下的shell通过几条命令就可以实现想要的功能,它可以像胶水一样,将linux下的许多功能连接在一起。许多C语言下上百行的程序,在shell下只用几行就可以完成,于是他比较喜欢shell这种方式。但是shell的本质是调用命令,它并不是一个真正的语言,不能像c语言一样全面的调动计算机的功能。
③所以他想发明一种既能像c语言一样能够调用计算机功能,又像shell一样轻松编程实现自己的想法的语言。于是Python应运而生。
三、什么是python?
python是一种面向对象、解释性、交互式计算机程序设计语言
3.1面向对象和面向过程
3.1.1面向对象
比如拿一个人people来为例,他有各种各样属性,他的身份可能是个老师,年龄大概24岁,爱好打篮球,那么在程序中我们只需要把这些属性封装到people对象中,通过对象people就能够得到对应的属性。
3.1.2 面向过程
其实往冰箱里放东西就是这样的思想:第一步打开冰箱,第二步将东西放入冰箱,第三步关上冰箱,这整个流程下来就是一个过程。而面向过程的语言实际上就是注重于过程的思想。
3.2解释性
3.2.1 编译性
编译性语言比如 C 或 C++ 写的程序需要将源代码通过预处理-编译-汇编-链接后,生成计算机可执行的机器码语言(二进制代码,即0和1)。
- 预处理:展开#include头文件,宏替换、去掉注释、条件编译#if... ...
- 编译:检查语法,生成汇编语言(.s文件)
- 汇编:将汇编代码转换为机器码(.o文件)
- 链接:将各个模块的机器码文件、依赖库连起来生成计算机可执行的文件
3.2.2 解释性
解释性语言比如Python或JavaScript写的程序不需要编译成二进制代码。它只是在运行程序的时候在计算机内部Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。
计算机内部Python解释器:
就是python环境,将代码翻译成二进制
3.3交互式
python执行代码 和linux终端命令行或windows下的终端一样简单,在python提示符>>>后可直接执行代码。
windows终端下提示符比如:C:\>
linux终端下命令符比如:darren@darren: ~$
python提示符: >>>
四、Python3和Python2
Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。许多针对早期 Python 版本设计的程序都无法在 Python 3.0 上正常执行。为了照顾现有程序,Python 2.6 作为一个过渡版本,基本使用了 Python 2.x 的语法和库,同时考虑了向 Python 3.0 的迁移,允许使用部分 Python 3.0 的语法与函数。
2020 年 1 月 1 日,官方宣布停止 Python 2 的更新。Python 2.7 被确定为最后一个 Python 2.x 版本。而大多数第三方库都正在努力地相容 Python 3.0 版本,因此我们只学习Python3就可以了。
五、python和其他语言之间的对比
用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个音乐,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。
(1)python实现功能所用的代码量相对少
不同的编程语言,干同一个活,编写的代码量,差距也很大。比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。所以Python是一种相当高级的语言。
(2)python运行速度相对慢
代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。
①Python被发明的初衷就是能够像shell编程一样简单实现自己的想法,所以在表面上看代码很少,但是它是调用许多的库、函数实现的,在内部需要耗费很多时间去处理;
②Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。
六、python的优势
(1)有着最庞大的免费“代码库”,给使用者足够的资源实现自己想要的功能
(2)人工智能、大数据分析的重要支撑语言
(3)被称为“胶水语言”,能很好包装盒调用其他编程语言写的库
(4)是一种脚本语言,和其他编程语言相比更加简洁高效
七、学python能做什么?
可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。
Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。
python可以取代javascript作为网站后端开发,比如豆瓣就是Python做的;python可以编程爬虫,爬取网站上各种你想要的资源;当然它还可以用在人工智能领域。