Python脚本语言之你有思考过这些Python特性嘛
学习Python已经几年时间,代码也写了不少,后面又辗转接触了Go,懵懵懂懂又看了一些语言设计上的资料,才感觉对Python有一些感觉,今天就跟大家分享下自己对Python作为脚本语言的思考
Python是一门脚本胶水语言
这句话不知见了多少次,感觉也没什么不合适,反正大家都这么说,反正很多人学Python是真的是拿Python做胶水, 那所谓的胶水脚本语言有哪些特性呢,让我们一起接着思考?
被忽略的圣诞节
稍微了解点Python历史都知道, Guido(Python创始人)在一个圣诞节搞定了Python, 但往往会忽略另外一句话, 就是满足他使用c和shell之间创建一个功能健全、可扩展的语言。
脚本语言第一个特性: 粘接--将现有程序粘接将现有程序粘接起来,以构造大型的系统
脚本语言的特性
脚本语言的定义其实到目前来说已经很模糊,就像Python,发展到如今,已经是一门功能很强大的语言,除了可以很容易的粘结其他语言,自身也有丰富的类库,支持快速功能功能开发,但我们做为一个Python爱好者,我们要理解一些脚本语言中公共特性,让我们更好的玩转Python
无须声明
我们要使用一个变量,只需要直接的把值给它,而不需要使用像go var a int或者 a := 0这样去声明一个变量
作用域规则
作用域规则是很多程序都不会考虑的一个问题,作用域代表的其实是一种约束,约束一个名字和一个具体对象直接的关系,Python中使用一种LEGB的作用域规则, 当使用一个变量如果不通过local或者global关键字,则Python解释器会一层层向上查找是否有对应的变量,而无需开发者关心
灵活的动态类型化
变量A可以在程序运行的任何地方,指向任意类型,而不像静态语言中,一个变量声明完类型,就只能指向同一类型无法更改
易于访问其他程序
在Linux上, 如果像查看当前系统有哪些进程直接调用ps命令即可:subprocess.call(['ps', '-ef'])
高级数据类型
除了了基础的简单数据类型, Python还提供了list、dict、set、tuple等内置的数据结构,同时标准库collections、heapq、array、bisect、enum等还有很多等你去发掘,好好写好自己业务的代码就可以了,Python为你解决一切
支持交互使用
当我们需要验证某些逻辑,或者测试某些代码,可以直接使用Ipython等工具,而无需专门写一个程序,直接交互动态运行,分分钟实现目标
暮然回首
结合脚本语言的一些关键特性,见识到了Python的强大, 也了解作为脚本语言的Python与生俱来的一些特性,希望各位看官能有所收获, 咱们下期再见
领取专属 10元无门槛券
私享最新 技术干货