为何学习使用Python
- 软件质量高
- 提高开发者效率
- 程序的可移植性广
- 标准库的支持强
- 组建集成
- 享受乐趣
python语言定位
Python是一门多用途编程语言,时常扮演脚本语言的角色。一般来说,Python可定义为面向对象的脚本语言,这个定义把对面向对象的支持和全面的面向脚本语言的角色融合在一起。事实上,人们往往以脚本而不是程序描述Python的代码文件。对于脚本语言,从不同的角度来观察时有着众多不同的意义,对于Python来讲并不是所有的都适用。实际上,人们往往给Python冠以以下三种不同的角色,其中有些角色相对于其余角色更重要:
- Shell工具
- 控制语言
- 使用快捷
Python语言缺点
唯一缺点就是,在目前现有的实现方式下,与C和C++这类编译语言相比,python语言的执行速度还不够快。、 目前Python的标准实现方式是将源代码的语言编译(或者说是转换)为字节码的形式,之后再将字节码解释出来,由于字节码是一种与平台无关的格式,字节码具有可移植性。然后,因为Python没有将代码编译成底层的二进制编码(例如Intel芯片的指令),一些Python程序将会比像C这样的完全编译语言慢一些。但经过多年的发展和优化,现在Python的运行速度已经足够快,由于python开发速度带来的效益往往比执行速度带来的损失更为重要,特别是在现代计算机的处理速度已经相当快的情况下。
Pyhton应用领域
- 系统编程
- 用户图形接口
- Internet脚本
- 组建集成
- 数据库编程
- 快速原型
- 数值计算和科学计算编程
- 游戏编程
- 用PIL,PyOpenGL,Blender,Maya等一些工具进行图像处理
- 人工智能AI,机器人
- 利用xml库,xmlrpclib模块和其它一些第三方扩展进行XML解析
- 大数据分析处理
- 使用PySerial扩展在windows,linux以及更多系统上进行串口通信。
- 使用NLTK包进行自然语言分析
- ……
Python技术优点
- 面向对象
- 开源免费
- 可移植
- 功能强大
- 动态类型
- 自动内存管理
- 大型程序支持
- 内置对象类型
- 内置工具
- 第三方工具
- 可混合
- 简单易用
- 简单易学
Python与其它语言的对比
- 比Tcl强大,Python支持大规模编程,使其适宜用于开发大型系统
- 有着比Perl更简洁的语法和更简单的设计,这使得Python更具有可读性,更易于维护,有助于减少程序bug
- 比java,C++更简单,更易与使用。Python是一种脚本语言,java从C++这样的系统语言中继承了许多语法和复杂性。
- 比VB更强大也更具备跨平台特性。
- 比PHP更易懂并且用途更广,Python除了可以快速构建web站点之外,几乎广泛用于几乎每个计算机领域。
- 比Ruby更成熟,语言更具可读性。与Ruby和java不同的是,OOP对于python是可选的:这意味着Python不会强制用户或项目选择OOP进行开发。
- 具有SmallTalk和Lisp等动态类型的特性,但是对于开发者及定制系统的终端用户来说更简单,也更接近传统编程语言的语法。
Python程序执行
源代码m.py ——> 字节码m.pyc ——> python虚拟机(PVM)
Python实现方式
- CPython 原始、标准的Pyhton实现方式。运行速度最快,最完整而且也最健全。
- Jython 最初成为JPython,是一种Python语言的替代实现方式,其目的是为了与java编程语言集成。Jython包含了java类,这些类编译Python源代码,形式java字节码,并将得到的字节码映射到java虚拟机(jvm)上。
- IronPython 最新最不成熟,设计目的是让Python程序可以与windows平台上的.net框架以及与之对应的linux上的开源的Mono编写的应用程序相集成。
注意:之后的学习过程中,我将以SuSE Linux环境为例,用IPython 替代原生Python的交互式Shell。
0 条评论