为什么称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中让MySQL查询结果返回字典类型的方法
Aug 22 Python
Python获取Windows或Linux主机名称通用函数分享
Nov 22 Python
Python的Django框架中的URL配置与松耦合
Jul 15 Python
Python实现爬虫从网络上下载文档的实例代码
Jun 13 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
python Kmeans算法原理深入解析
Aug 23 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
Python 远程开关机的方法
Nov 18 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
Feb 03 Python
python开发实时可视化仪表盘的示例
May 07 Python
Python 中数组和数字相乘时的注意事项说明
May 10 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中实现图片的锐化
2006/10/09 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
Ionic快速安装教程
2016/06/03 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
Python线程详解
2015/06/24 Python
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
python实现键盘控制鼠标移动
2020/11/27 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
保时捷设计:Porsche Design
2019/03/30 全球购物
小学数学教学反思
2014/02/02 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
2014年收银工作总结
2014/11/13 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书