为什么称python为胶水语言


Posted in Python onJune 16, 2020

什么是胶水语言?

胶水语言(glue language)是用来连接软件组件的程序设计语言(通常是脚本语言)。

胶水语言的例子:

Shell scripts Python Ruby Lua Tcl Perl PHP 参见: Category:脚本语言

Glue language (uses OS commands, interfaces, DLLs, shared libraries, services, objects, etc.)

胶水语言:使用输入输出命令,接口,动态链接库,静态链接库,服务,对象等。

在Python的内部机制中有:

标准版本的python是用C来编译的,又称为Cpython,除此之外,还有一些其他的python实现。

2.java实现版本。这个解释器完全用java写成,名为Jython。尽管和标准版的有区别,但是很小,而且启动环境也完全相同

Jython的优点:

(1)只要有虚拟机,就可以运行Jython

(2)拥有访问java包与类库的能力

(3)为java开发环境提供了脚本引擎

(4)鼓励Python到java的开发

3..net实现。用C#语言完成,名为IronPython。和jython差不多。

意义:

在终端上我可以随意地组合他和其它程序,作为一个中间处理模块。

而且,他可以如此地简单便捷,一些简单的脚本只需要cat一下马上就能明白是什么意思。

一个表达式一行代码,代码块有一致的标准的缩进,标准的命名方式,简练的语言,支持注释……

别的程序要访问或调用,很简单,一个命令把指定数据输入到这里就好,然后要怎么拼接怎么拼接;

周期性地处理也没问题,输出到文件,等待别的程序调用。

系统脚本上:

比SHELL多了很多数学及字符串处理能力,还多了很多很好用的迭代方法,还多了很多的原生的数据结构;

比PERL多了很要命的代码可读性。

比起ruby和nodejs,他基本所有机器都预装,而且已经经历了时间的考验。虽然,将来的确会有被这俩货代替的可能性。

比起C/C++,他多了一个终端、甚至像ipython这样的加强版神器终端,可以边调试代码边把没问题的代码写进文件。而且,源码即可执行。

知识点补充:

胶水语言

先从Hello world开始。所有学python的童鞋都会从这句话开始:

print "Hello World!"。

问题来了:为什么所有语言第一件做的事情,就是Hello World?

其实,他代表了UNIX统一的文本处理模型及接口。这些个玩意,Windows的编程领域是很难接触到的也很难理解的。

下面写个范例。比如我这么干了:

# file: say.py

import sys
txt = sys.argv[1]
print "Hello %s!"%(txt)

那么我就可以在Linux或Mac的终端上直接输入:

python say.py World

输出结果就会是:

Hello World!

这样就确保了,在终端调用上的直观与可编程性。

这样,我就不用必须在别的python语言里面调用python了,而能够直接在shell上跟其它处理程序直接连接。

BTW,这其实也是Hello world,呵呵。

到此这篇关于为什么称python为胶水语言的文章就介绍到这了,更多相关python为何称为胶水语言内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用BeautifulSoup分页网页中超链接的方法
Apr 04 Python
Python中__new__与__init__方法的区别详解
May 04 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
Python爬取成语接龙类网站
Oct 19 Python
Python 串口读写的实现方法
Jun 12 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
python切割图片的示例
Nov 12 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
python源码剖析之PyObject详解
May 18 Python
python数字图像处理:图像简单滤波
Jun 28 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 #Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 #Python
Python实现验证码识别
Jun 15 #Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 #Python
使用Keras画神经网络准确性图教程
Jun 15 #Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 #Python
python中元组的用法整理
Jun 15 #Python
You might like
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
Vue页面切换和a链接的本质区别详解
2019/11/12 Javascript
原生js实现文件上传、下载、封装等实例方法
2020/01/05 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
利用aardio给python编写图形界面
2017/08/21 Python
Python 多进程和数据传递的理解
2017/10/09 Python
python如何实现反向迭代
2018/03/20 Python
使用Python 正则匹配两个特定字符之间的字符方法
2018/12/24 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
内部类的定义、种类以及优点
2013/10/16 面试题
大学毕业感言50字
2014/02/07 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android