为什么称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利用Guetzli批量压缩图片
Mar 23 Python
python线程池threadpool使用篇
Apr 27 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
Python图像处理之简单画板实现方法示例
Aug 30 Python
python将一组数分成每3个一组的实例
Nov 14 Python
django使用xadmin的全局配置详解
Nov 15 Python
Python 线性回归分析以及评价指标详解
Apr 02 Python
Python实现初始化不同的变量类型为空值
Jun 02 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
Apr 14 Python
python基于opencv批量生成验证码的示例
Apr 28 Python
Python基础学习之奇异的GUI对话框
May 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自定义函数实现数组比较功能示例
2017/10/19 PHP
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
Node.js编码规范
2014/07/14 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
vue.js中created方法作用
2018/03/30 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
使用Python函数进行模块化的实现
2019/11/15 Python
python实现实时视频流播放代码实例
2020/01/11 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
查看keras的默认backend实现方式
2020/06/19 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
青年教师师德演讲稿
2014/08/26 职场文书
企业法人代表证明书
2014/09/27 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS