目录
1.程序
为了完成某种特定功能,以某种程序设计语言编写的有序指令的集合。
程序是指挥cpu工作的“工作手册”。计算机只能执行二进制代码,程序设计语言一般类似英文,想要让计算机理解你写的程序,必须把程序代码“翻译”成计算机能理解的二进制代码,根据翻译形式的不同,可以分为:
- 编译:将程序代码翻译成计算机能理解的二进制目标代码,会生成特定的可执行代码(在window上是exe文件),可执行代码是二进制的,无法看到源代码。然后执行可执行代码就可以得到想要的结果。
- C、C++等。
- 解释:将程序代码一句一句翻译为计算机可以执行的指令,立即执行,不会生成可执行文件python、php、JavaScript等。
2.语言的区别
- 解释型语言
是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。比如PHP、Python。
优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行。
缺点:运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程。
- 编译型语言
在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。比如C、C++、Java。
优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好。
缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行。
3.python应用
- web后端开发
- 网络爬虫
- 人工智能
- 自动化运维
- 网络编程
- 国内:豆瓣、百度、阿里、新浪等都在使用python;国外:Google、FaceBook、Twitter。
- 如果不是程序员,在日常工作中,也越来越需要python的帮助,甚至在投简历时,会被优先考虑。
- 大学生和在校的学生也有对应的考试与课程。国务院印发的《新一代人工智能发展规划》、教育部出台《高等学校人工智能创新行动计划》。
4.python特点
- 是跨平台语言【可以运行在不同的操作系统上】。
- python 是一种解释型语言【开发过程中没有了编译的环节】。
- 开发过程中没有了编译这个环节,类似于PHP和Perl语言。
- python 是交互式语言。
- 可以在一个Python提示符,直接互动执行程序。
- python 是面向对象语言。
- python支持面向对象的风格或代码封装在对象的编程技术。
- python 是完全面向对象的语言。
- 函数、模块、数字、字符串都是对象,在 Python 中一切皆对象。
- 完全支持继承、重载、多重继承。
- 支持重载运算符,也支持泛型设计。
- python 是初学者的语言。
- python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
4.1优点
- 易于学习:python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 易于阅读:python代码定义的更清晰。
- 易于维护:python的成功在于它的源代码是相当容易维护的。
- 一个广泛的标准库:python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好python 拥有一个强大的标准库,Python 语言的核心只包含 数字、字符串、列表、字典、文件 等常见类型和函数,而由 Python 标准库提供了 系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理 等额外的功能。
- python 社区提供了大量的第三方模块,使用方式与标准库类似。"它们的功能覆盖 科学计算、人工智能、机器学习、Web 开发、数据库接口、图形系统多个领域。
- 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
- 可扩展:如果需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 数据库:python提供所有主要的商业数据库的接口。
- GUI编程:python支持GUI可以创建和移植到许多系统调用。
- 可嵌入:你可以将python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
- 免费、开源。
- 面向对象。
4.2缺点
- 运行速度慢。
- 和C程序相比非常慢,因为Python是解释型语言,代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。
- 代码不能加密。
- 如果要发布Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。
5.python解释器
- cpython 官方默认的解释器,使用最广泛。
- jypython 运行于java平台上的解释器。
- ironpython 运行于.net平台上的解释器。
- pypy 使用Python编写的解释器,支持JT技术(即时编译)。