为什么称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 相关文章推荐
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
使用python编写udp协议的ping程序方法
Apr 22 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
快速排序的四种python实现(推荐)
Apr 03 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
opencv3/python 鼠标响应操作详解
Dec 11 Python
Django集成celery发送异步邮件实例
Dec 17 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 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笔记 字符串处理
2010/10/19 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php中error与exception的区别及应用
2014/07/28 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
Python使用MD5加密字符串示例
2014/08/22 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
土木工程实习生自我鉴定
2013/09/19 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
队名及霸气口号大全
2015/12/25 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis