前言
第一次听说Python是在开发Visual Studio Extension应用时,当时有一个著名的开源 IDE:IronPython,那是一个基于VSShell的专为IronPython设计的IDE,也算是基于VSShell的最出色的产品了,集成了编辑器,调试器。IronPython之于Python的关系,就好像C++.NET之于C++的关系(这里只是胡乱比喻一番,定有不妥之处)。
Python概述
有点扯远了,事实上对于Python,到目前为止,我是个初学者,刚刚走马观花的把Python简明教程看了一遍,这里提点自己的看法和总结,有不妥之处欢迎指正:
1.Python的解释性。不想Native code的C/C++需要编译成目标平台的二进制代码。“Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,更拽,而是说和Java或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。-----Goodspeed ”
1.Python是一门解释性的语言。执行的时候需要依靠Python解释器,就像windows或linux脚本需要脚本宿主一样,因此在执行速度上要慢于Native code的C/C++。Python跟Java/C#又有所不同,后者是编译到中间语言,由虚拟机或托管模块执行。
2.Python的跨平台性很好,目前支持mac OS、windows、linux(也许有其他的),其中mac OS和大多数的linux发行版都默认安装了Python解释器和Python库。windows下可以通过简单的安装支持Python。
3.Python的开源性必将给它带来旷阔的空间。在现在这个开源的趋势下,开源的好处被越来越多的开发者认可,越来越多的人愿意为开源作出贡献,当然包括Python在内。
4.Python的语言特性。Python面向对象的语言特性继承了现代高级语言的特点。不过个人认为,Python在面向对象的语法上实在让我这个C++、C#出生的人十分不习惯,我还是比较习惯于先声明后使用,也许是因为我还没有从静态语言的惯性思维中转过弯来吧。
5.丰富的库。除了Python的标准库,还有许多第三方的GUI库正在被认可。我还没有尝试使用这些库,不过相信由于Python的开源特性,库的数量和质量都将不断提升。
windows下安装Python
目前我已经不在windows下练习Python了,但是刚开始练习的时候还是习惯性的在windows下安装部署。我当时安装的是Python2.5,但是我发现安装时没有配置环境变量,使我不能在命令行下直接通过"python"运行我的脚本。当然配置环境变量不是难事,这里就不累述了。另外windows下的Python IDEL我个人觉得并不好用。windows下退出命令行模式python:Ctrl+z再回车
linux下Python
linux下Python几乎的默认支持的。我的Ubuntu中python是2.6.5的。linuxs下退出命令行模式python:Ctrl+D。
我习惯用gedit编辑Python源代码文件,源码文件需要在第一行包含:
#!usr/bin/python
gedit实在是十分出色,它同样支持Python的语法高亮,而且高亮元素很丰富,强力推荐:
脚本语言太多?现在有Python了!
无论什么平台都有脚本语言,而且种类很多,语法相似,容易混淆。现在有了Python全都搞定。Python作为一种语言,处理逻辑自然不在话下;对于调用系统命令只要使用如下统一的方式:
1 |
commandline = "..." |
2 |
if os.system(commandline) = = 0 : |
3 |
print "success" |
4 |
else : |
5 |
print "failed" |
只要构造一个commandline就可以了!
结语
编程语言在发展,语法变得越来越简单,越来越接近自然语言。我们这一代正在纠结在Native Code和Managed Code之间,Python这样的解释语言的出现,也许标志着一个新的潮流的到来,也许后辈程序员将完全不用知道Native Code,就像我们这一代多数不怎么懂汇编一样。Python也许将成为大势所趋。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义