什么是python
Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,能简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的很多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。
Python支持命令式编程、面向对象程序设计、函数式编程、泛型编程多种编程范式。Python具备垃圾自动回收功能,能够自动管理内存使用。Python经常被当作脚本语言用于处理系统管理任务和Web编程
python的特色
- 简单易学
Python是一种代表简单主义思想的语言,它使你能够专注于解决问题而不是去搞明白语言本身
- 解释性语言
Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心 如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它 就可以工作了,这也使得你的Python程序更加易于移植。
- 面向对象
程序是由数据和功能组合而成的对象构建起来的。与其他 主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
- 可扩展性
如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
- 可嵌入性
你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
- 丰富的库
Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。
Python标准库的主要功能有:
- 文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能
- 文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能
- 操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、写日记(logging)等功能
- 网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能
- 网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架
- W3C格式支持,包含HTML,SGML,XML的处理。
- 其它功能,包括国际化支持、数学运算、HASH、Tkinter等
python环境
python可以在linux与window下运行,在linux下可以执行安装命令安装pythoh,则window系统可以去 http://www.python.org/ 下载安装
由于python2.x与python3.x版本有比较大的区别,现在python3.x的第三方库没有python2.x那么普及,可以根据具体情况来选择合适版本来使用。如果要使用第三方库,建议还是安装2.x版本
python vs perl
Perl 是 Practical Extraction and Report Language 的简称,最初的目的是为了在 UNIX 上方便处理报表,经过长期的发展已经成为一种全功能的程序设计语言,Perl 作为一种*而强大的编程语言,其中心思想是: There‘s More Than One Way To Do It。(不只一种方法來做这件事 )。作为一种“胶水型”语言,它具有强大的正则表达式和模式匹配功能以及灵活的数据结构,如动态数组、Hash 等,在语法规则上借鉴了 C/C++、Basic、Pascal
等语言,其不足之处在于存在一些冗余语法,代码的可读性较差。
Python 是一种基于面向对象的解析性交互式的开源编程语言,Python开发者的哲学“优雅”、“明确”、“简单”、“用一种方法,最好是只有一种方法来做一件事”。Python 具有简单易学、代码规范、语法简单、可移植性强、支持多平台、类库丰富等优点。
Pypy
PyPy是用Python实现的Python解释器。
PyPy是Python开发者为了更好的Hack Python创建的项目。此外,PyPy比CPython是更加灵活,易于使用和试验,以制定具体的功能在不同情况的实现方法,可以很容易实施。 该项目的目标是,让PyPy比C实现的Python更为容易的适应各个项目和方便裁剪。
最新的PyPy版本是2.2.1,兼容Python 2.7.2。可以运行在Linux的32位和64位、MacOSX和Windows的32位平台中。PyPy还提供了JIT编译器和沙盒功能,因此运行速度比CPython要快,以及可以安全的运行一些不被信任的代码。
Python开发环境
一般的文本编译器都支持python语法,如EditPlus、UltraEdit等,也有一些适合Python的集成开发环境(IDE)软件,除了标准二进制发布包所附的IDLE之外,还有许多其他选择。其中有些软件设计有语法着色、语法检查、运行调试、自动补全、智能感知等便利功能。
- Eric:基于PyQt的*软件,功能强大。支持自动补全、智能感知、自动语法检查、工程管理、svn/cvs集成、自动单元测试等功能。调试功能与Visual Studio和Eclipse类似。目前同时有两个版本。Eric4支持Python2.x,Eric5支持Python3.x。使用前需要先安装相应的PyQt版本。
- IDLE:Python“标准”IDE。一般随Python而安装,支持较少的编辑功能。调试功能也比较弱。
- PyCharm:由JetBrains打造,该公司的Java IDE软件IntelliJ拥有海量的用户;PyCharm具备一般IDE的功能,比如,调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等,同时另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython。PyCharm是商业软件,目前已经到3.x版本。其中从3.0开始支持免费版,但功能比专业版弱
- PythonWin:包含在pywin32内的编辑器,仅适用于Windows。
- SPE(Stani‘s Python Editor):功能较多的免费软件,依赖wxPython。
- Ulipad:功能较全的免费软件,依赖wxPython。
- WingIDE:可能是功能最全的IDE,但不是免费软件。
python界面编程
python提供了多个图形开发界面的库,几个常用Python GUI库如下:
- Tkinter: Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
- wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 并没有带gui界面编辑工具,但可以使用wxFormBuilder来编译界面并转换为代码
- Jython:Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。比如,Jython的用户界面将使用Swing,AWT或者SWT。Jython可以被动态或静态地编译成Java字节码。
- PyQT: qt的python实现,可以使用Eric与pyQT开发,pyQT自带gui界面组件拖放,然后Eric可以把它转换为python代码。
python简明教程: http://sebug.net/paper/python/index.html
wxpython:
http://wiki.woodpecker.org.cn/moin/WxPythonInAction