Python的简单介绍
Python的创始人是吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承,在1991年初发布了Python的第一个公开发行版。
在最新的TIOBE排行榜中,Python占据世界第三名的位置, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。
Python的安装
第一步:首先去官网下载Python。
Python官网:https://www.python.org/
由于官网在国外,所以访问的速度比较慢,其实慢点也无所谓了,总比被墙了好。
这里我下载的是Python3.8,另外官方宣布,2020年1月1日将停止Python 2 的更新,Python 2.7 被确定为最后一个 Python 2.x 版本,所以现在就不要下载Pyhon 2.x 版本的了。
第二步:运行exe文件安装Python。
在安装过程中,需要将 Add Python 3.8 to PATH 进行勾选,因为windows会根据一个PATH的环境变量设置的路径去查找Pyhon.exe.文件,如果没有找到,在cmd界面直接输入Python就会报错,如果在安装Python忘记勾选,那么就需要手动将Python.exe.文件的的路径添加到PATH中。
Python是一门什么样的语言
编程语言分为编译型语言和解释型语言,它们两者的区别如下:
编译器是把源程序中的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。
而解释器则只是在执行程序时,才一条一条的解释成机器语言给计算机执行,所以运行速度是不如编译后的程序运行的快的。
这是因为计算机并不能直接认识并执行我们写的语句,它只认识机器语言(是二进制的形式)。
编译型语言VS解释型语言
编译型语言的优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高,可以脱离语言环境独立运行。
编译型语言的缺点:编译之后如果需要修改就需要整个模块重新进行编译。编译的时候根据对应的运行环境生成机器码,不同操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型语言的优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。
解释型语言的缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
Python的优缺点
Python的优点:
- Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去简单易懂,初学者学习Python,不但入门容易,而且将来深入下去,可以编写那些非常复杂的程序。
- 开发效率高,Python有非常强大的第三方库,基本上你想要通过计算机实现的任何功能,Python官方库中都有相应的模块进行支持,直接下载调用后,在基础库的基础上在进行开发,大大降低了开发周期,避免重复造轮子。
- 高级语言---当你用Python语言编写程序时,你无需考虑诸如如何管理你的程序使用的内存-类的底层细节。
- 可移植性---由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上),如果你小心地避免使用依赖系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行。
- 可扩展性---如果你需要你的一段关键代码运行的更快或者希望某些算法不公开,那么你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它。
- 可嵌入性---你可以把你的Python程序嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
Python的缺点:
- 速度慢---Python的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,但是这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须要借助测试工具才能体现出来,比如C运行一个程序花了0.01s,用Python花了0.1s,这样C语言直接比Python快了10倍,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的事件最小单位是0.15s-04s左右,其实大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等等,这种情况下,当然还是建议用C取实现的。
- 代码不能加密---因为Python是解释型语言,它的源码都是以明文形式存放的,不过我认为这不算是一个缺点,如果你的项目要求源代码必须是加密的,那么你一开始就不应该用Python去实现。
- 线程不能利用多CPU的问题---这是Python被人诟病最多的一个缺点。
当然Python还有一些小缺点,这里就不一一列举了,其实任何一门语言都不是完美的,都有擅长和不擅长做的事情,建议大家不要拿一个语言的劣势去跟另一个语言的优势进行比较,毕竟语言只是一个工具,拿相应的工具去做它擅长做的事情才是正确的选择。