为什么称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实现的批量下载RFC文档
Mar 10 Python
matplotlib绘制动画代码示例
Jan 02 Python
基于Django用户认证系统详解
Feb 21 Python
Python使用OpenCV进行标定
May 08 Python
用python实现k近邻算法的示例代码
Sep 06 Python
基于Python打造账号共享浏览器功能
May 30 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
wxPython实现列表增删改查功能
Nov 19 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
Jul 03 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
Nov 06 Python
python反爬虫方法的优缺点分析
Nov 25 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 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
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
基于Vue实例对象的数据选项
2017/08/09 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
详解JSON.stringify()的5个秘密特性
2020/05/26 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
利用python爬取软考试题之ip自动代理
2017/03/28 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
解析python实现Lasso回归
2019/09/11 Python
Python文件操作方法详解
2020/02/09 Python
小学生演讲稿大全
2014/04/25 职场文书
导游词400字
2015/02/13 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS