python语言是胶水语言吗_为什么只有python是胶水语言?
python现在最广为闻名的形容大概有这些:他是很好的胶水语言。
什么是胶水语言?反正当时的我不知道。他是新一代的系统脚本。系统脚本是什么?
其次就是代码可读性。不过,这个其实还是争议挺大的,我也不准备在这多说了。
反正我发现大家其实都没解释清楚。
大概是因为,那些大牛们都已经把很多东西习以为常了,却不知道新人其实都一头雾水。其实事情也没那么复杂。
胶水语言先从Hello world开始。所有学python的童鞋都会从这句话开始:print "Hello World!"。
问题来了:为什么所有语言第一件做的事情,就是Hello World?
其实,他代表了UNIX统一的文本处理模型及接口。这些个玩意,Windows的编程领域是很难接触到的也很难理解的。
下面写个范例。
比如我这么干了:
# file: say.pyimport systxt
= sys.argv[1]print "Hello %s!"%(txt)
那么我就可以在Linux或Mac的终端上直接输入:python say.py World
输出结果就会是:Hello World!
这样就确保了,在终端调用上的直观与可编程性。
这样,我就不用必须在别的python语言里面调用python了,而能够直接在shell上跟其它处理程序直接连接。
BTW,这其实也是Hello world。
再玩复杂点的:
file: say2.pyimport sysfor line in sys.stdin.readlines():print "Hello %s!"%(line.strip())
那么我就可以在终端这么干:echo -e 'water\nmaomaol\nkenbing\nlonger\nchuang'|python say3.py
输出就会是:Hello water!Hello maomaol!Hello kenbing!Hello longer!Hello chuang!
再进一步,我可以把前面的内容写成文件,
比如写成一个这样的文件:names.txtwatermaomaolkenbinglongerchuang
就可以直接更便捷地做处理:
cat names.txt | python say2.py 这样,
我就用cat命令把文本打印出来,然后输出到say2.py上去了。
输出一样的结果。但是,我输入到终端又有什么用呢?
没错,到终端的确没啥用,我们把他输出到文件吧!cat names.txt | python say2.py > result.txt就这样,
结果就保存到了result.txt这个文件里了。
这样做的意义是什么?
意义就是,在终端上我可以随意地组合他和其它程序,作为一个中间处理模块。
而且,他可以如此地简单便捷,一些简单的脚本只需要cat一下马上就能明白是什么意思。
一个表达式一行代码,代码块有一致的标准的缩进,标准的命名方式,简练的语言,支持注释……别的程序要访问或调用,很简单,一个命令把指定数据输入到这里就好,然后要怎么拼接怎么拼接;周期性地处理也没问题,输出到文件,等待别的程序调用。
比起windows各种诡异的processer,各种诡异的二进制存储的文件,这样一致的接口简直能让人想哭了。
系统脚本上:他比SHELL多了很多数学及字符串处理能力,还多了很多很好用的迭代方法,还多了很多的原生的数据结构;他比PERL多了很要命的代码可读性。
比起ruby和nodejs,他基本所有机器都预装,而且已经经历了时间的考验。虽然,将来的确会有被这俩货代替的可能性。
比起C/C++,他多了一个终端、甚至像ipython这样的加强版神器终端,可以边调试代码边把没问题的代码写进文件。
而且,源码即可执行。在我看来,这些就是python的优势。
让他当之无愧是系统脚本的王者。只可惜,现在就连大多数的程序员,都已经被图形化界面给宠坏了,也习惯了各种大厂商、IDE提供的诸多工具包与功能,却把很多很基础的东西都给忽略了,却在不断地、重复地造轮子。
这就叫码农。所以,大概也就敢于拥抱变化的系统管理员、运维工程师或数据分析工程师,才会长久地持续地喜欢python。
这个用户群,小众而又庞大,而且整个业界对这这方面的专家有着很大的缺口。纯以前端兼设计师的身份,向这部分人群表示高山仰止。
然后,我再继续折腾别的东西去。
作者:尚学堂大数据学院
https://www.bilibili.com/read/cv6980576
出处: bilibili
python语言是胶水语言吗_为什么只有python是胶水语言?相关推荐
- C语言 vs要安装什么_我为什么要从C语言转战Python语言,盘点一下未来计划
大家好,感谢朋友们的阅读,最近写了一些在C语言学习过程中,理论上的一些重要知识点,除了自己的一些知识分享外,感谢在朋友们在评论区对文章内容的补充. 快速学习了C语言后,我们就需要进入下一阶段的学习,按 ...
- go语言 第三方包安装方法_【分享吧】Go语言第三方包的使用介绍与场景应用
Go语言是一种跨平台(Mac OS.Windows.Linux 等)的静态编译型语言.拥有媲美C语言的强大性能,支持静态类型安全,在普通计算机上能几秒内快速编译一个大项目,开发效率跟动态语言相差无几. ...
- python初学者用什么编辑器好_新人学 python 选什么编辑器比较好呢??
点击上方蓝字关注我们 ↑关注 + 星标 ,每天学Python新技能 后台回复[大礼包]送你Python自学大礼! 新手学Python用什么编辑器比较好?工欲善其事必先利其器,选好工具学习更高效.市面上 ...
- 学python后做什么工作好_学习完Python课程后可以做什么工作?
Python作为人工智能.大数据的首选编程语言,也是进入编程世界的理想选择,已经成为了大家都在追求学习的语言,那么学习Python之后到底可以做什么呢?为您详细的介绍一下. 什么是Python?Pyt ...
- 基于python的智能文本分析 书_推荐一本Python数据分析必备工具书
身处大数据领域,我们每天都不得不与各种各样的数据打交道,无论是围绕数据去进行计算还是分析,它们都分属大数据领域的一个细分领域.在数据分析领域,Python语言一直一枝独秀,本文作者在数据分析领域深耕多 ...
- python图形化方式模块安装_(怎么安装python模块,如何安装python模块,常用安装方式)python助手安装教程视频...
有没有比较好的python3的入门视频教程,网盘或网站都可以. 我这里有Python,开发,进阶,自动化,实战列视频教程,还有安装包,,代码等容,这里就不一一说了,全套内容一共300G左右,非常的详细 ...
- python底层与机器底层关系_起底 Python 的底层逻辑
原标题:起底 Python 的底层逻辑 本文配图来自美剧<我们窃取秘密:维基解密的故事>. 文 | 图灵社区 推荐 | 编程派公众号(ID:codingpy) 01 一次纯粹的hackin ...
- python一个月能掌握吗_零基础python入门分析,如何做到一个月学会(深思极恐)...
在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...
- python在教育领域可以干什么_学了Python一般可以用来干什么呢?
很多朋友可能会问,为什么要学Python, 就算学会了Python 可以用来干什么呢? 一般都会首先想到爬虫. 爬虫不是说的那种虫子哦, 爬虫其实就是 类似于百度蜘蛛,谷歌蜘蛛一样的. 会自动的爬取网 ...
- python中继承是什么意思_如何理解Python中的继承?python入门
如何理解Python中的继承?如今,python编程语言深受企业和个人的喜爱.python开发工程师是近年来互联网行业非常热门的职业岗位之一.学习python的人除了零基础的,还有一部分是在职运维.在 ...
最新文章
- 使用Identity Server 4建立Authorization Server (2)
- 你和PPT高手之间,就只差一个iSlide
- python判断列表list中的内容、数值是否全部都大于某一个阈值(threshold)、如果数值都大于某一个阈值(threshold)则跳出循环
- 【c语言】蓝桥杯入门训练 Fibonacci数列
- python 版本比较函数 LooseVersion StrictVersion
- UML中类之间的几种关系
- 服务器防渗透(1)--信息收集
- LNMP服务器安装配置(Rhel+Nginx+PHP+MySQL)
- 利用C++Builder自定义Windows窗体“系统菜单”
- Spring Cloud脚手架源码
- 苹果6软件服务器验证失败是怎么回事,iPhone6手机出现验证错误怎么办?
- 问题三十三:怎么用ray tracing画特殊长方体(box)
- pygame放大图片_使用Pygame进行游戏开发(3)--绘图
- Unity人物动画问题
- s3c2416 AT070TN83的LCD wince6.0驱动移植
- python字典笔记
- 天道(遥远的救世主)金句,自悟自性
- day28 re(正则)模块
- 分享3款在线图片处理工具,解决图片问题不用担心
- 获取三方系统的token并访问第三方系统
热门文章
- 2022年自考专业考试(计算机应用)离散数学模拟冲刺题
- 基于Web的动态新闻发布系统设计与实现(含word文档)
- v8引擎编译全记录2020-10-17(保姆级教程)
- html上传文件出现fakepath,chrome upload file 出现 fakepath,请解决方案
- jsp fakePath
- 轻巧和实用并存——360安全卫士极速版试用报告
- et200sp模块接线图讲解_Step7 5.5通过Profinet组态ET200SP
- javascript用DOM解释XML
- Mac环境配置MySQL(详细)
- python 会议室预约系统解决方案_会议预约管理系统解决方案