为什么称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简单程序读取串口信息的方法
Mar 13 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
机器学习python实战之决策树
Nov 01 Python
使用numba对Python运算加速的方法
Oct 15 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
python时间序列按频率生成日期的方法
May 14 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
使用pytorch实现论文中的unet网络
Jun 24 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 Python
Python 图片处理库exifread详解
Feb 25 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
PHP中if和or运行效率对比
2014/12/12 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
代码生成器 document.write()
2007/04/15 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
原生JS封装_new函数实现new关键字的功能
2018/08/12 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
python使用xmlrpc实例讲解
2013/12/17 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
数控技术应届生求职信
2013/11/13 职场文书
租赁意向书范本
2014/04/01 职场文书
新年团拜会主持词
2014/04/02 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
公积金具结保证书
2015/05/11 职场文书
入党介绍人考察意见
2015/06/01 职场文书