为什么称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 相关文章推荐
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
python语言使用技巧分享
May 31 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
Python实现求数列和的方法示例
Jan 12 Python
Python实现发送与接收邮件的方法详解
Mar 28 Python
Windows下python3.6.4安装教程
Jul 31 Python
python利用7z批量解压rar的实现
Aug 07 Python
django 连接数据库 sqlite的例子
Aug 14 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
python函数enumerate,operator和Counter使用技巧实例小结
Feb 22 Python
python数据处理——对pandas进行数据变频或插值实例
Apr 22 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 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
深入了解php4(2)--重访过去
2006/10/09 PHP
php curl选项列表(超详细)
2013/07/01 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
Python算法之栈(stack)的实现
2014/08/18 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
python网络编程之数据传输UDP实例分析
2015/05/20 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
Python偏函数实现原理及应用
2020/11/20 Python
中国制造网:Made-in-China.com
2019/10/25 全球购物
数控机械专业个人的自我评价
2014/01/02 职场文书
企业活动策划方案
2014/06/02 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
内勤岗位职责范本
2015/04/13 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python
mysql中关键词exists的用法实例详解
2022/06/10 MySQL