为什么称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模拟enum枚举类型的方法小结
Apr 30 Python
git进行版本控制心得详谈
Dec 10 Python
pycharm设置注释颜色的方法
May 23 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
python将控制台输出保存至文件的方法
Jan 07 Python
详解Python3之数据指纹MD5校验与对比
Jun 11 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
python 直接赋值和copy的区别详解
Aug 07 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 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无限级分类方法及代码
2013/06/21 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
ThinkPHP中的关联模型注意点
2014/06/16 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
2013/01/08 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
教师实习自我鉴定
2013/12/14 职场文书
cf搞笑广告词
2014/03/14 职场文书
文明好少年事迹材料
2014/08/19 职场文书