深度剖析Python功能全解析

开发 后端
Python功能,足以支持绝大多数日常应用。它的名字来源于一个喜剧,也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用。

Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯,对于Python功能在下面文章您会看到他的一些新颖独特的功能。

有关Python功能更详细说明,请您本地的书店找 Mark Lutz 写的 O'Reilly 这本书,或者阅读随 Python(Guido Rossum 著,Python 的实际作者)一起的文档。***个有趣的事是这个应用程序处理命令行。列表 sys.argv 是命令行,为了使用它您需要理解 Python 列表语法。该示例用的语法很基本,但这足够让您理解这个程序了。

接下来,为了在调试时易于使用,定义一个 MsgBox 函数。注意,用于函数声明和类方法声明的语法正好相同。唯一的区别是类方法需要带参数 self,该参数包含了正在调用的对象的引用。(当然,您不一定要称它为 "self"。但如果不这样做,您会迷惑的。)

真正有趣的是在更为复杂的 __init__ 方法。这里,我们没有构建象上例一样的简单的、缺乏控件的菜单,而是构建了一个菜单栏,并附加菜单事件到回调例程,以及构建窗口分割栏、树控件和编辑控件。

您可以撇去这些来看整个工作怎样。(如果您以前未做过 GUI 编程,往下看,您会觉得很困难。)Visual Basic 用一种幕后的方式可以做所有这些,但如果在文本编辑器仅仅打开表格文件。

您仍然可以看到它。如果您曾用 C/C++ 做过 GUI 工作,那会觉得很熟悉。一旦有构造了的窗口,接下来我们就可以来看程序的实际代码。首先,在方法 __init__ 后有两个用于载入和保存项目文件的方法。

在那可以看到 Python 如何用 open 等等来处理文件 I/O。注意,事实上,?乇瘴募?且恢智崴傻氖? -- 正如它所发生的那样,对于 Python 来讲,文件句柄仅仅是内存管理的对象,且该对象由计数器引用。

当该引用变为无效时,Python功能,并会清除它,这时文件会自动关闭。也有不能完全信任的情形(文件不能自动关闭)。例如,您将再次打开已写的文件,并读它。这时,您要明确地关闭它。这个问题就是无用信息收集的问题(非 C 的人喜欢讨论的问题)。

载入/保存函数的另一个有趣的特性是他们会碰到由坏文件调用产生的例外( IOError 例外)。我让代码来说明自己,但那是您如何做的,孩子们。新代码剩下的问题是事件处理程序,用于处理在程序执行过程中所碰到的。我再次让程序自己来说明大部分。注意。

使用一般的对话框( wxMessageDialog、wxFileDialog 和 wxTextEntryDialog)来处理许多常规用户交互。这些调用与“常规”Windows 编程的相应用法有一点不同,这里我只给您一些线索。

首先,对话框是一个由合理的调用创建的对象,它用 ShowModal() 显示,用完后并破坏它;其次,用户单击的按钮作为返回值从 ShowModal() 返回,用对话框附属的方法可得到其它值。例如,在文件对话框交互期间,用户选择的路径是作为 dlg.GetPath() 而获得。这与 Windows API 的工作方式相当不同。正是这样您知道的。

文档状况让我说,wxWindows API 的文档处于……开发中。这个平台***的弱点是缺乏好的文档,我正在积极地改变这种状况。下半年情况会有所好转。同时,Python 本身有一些好的书籍,其中Python功能的在线文档就不差。对于 wxWindows,C++ 的文档很好。

有时,在 Python功能中,如何使这些文档合理些,是相当神秘的。在那里,有一些具体的 Python 注释,但在很多情况下。您会发现必须要读随 wxPython 一起的演示代码,或者,必须向邮件列表中的专家询问您的问题。幸运地是,这些专家是“有迹可寻”的。

责任编辑:chenqingxiang 来源: 互联网
相关推荐

2010-02-02 15:25:35

Python语法

2010-02-24 14:04:32

Python脚本语言

2010-02-03 16:56:24

Python包

2010-02-01 13:34:59

Python 脚本

2010-03-01 18:33:30

2010-03-01 14:50:06

Python 工具

2016-05-26 09:07:00

IBM存储IBM存储

2010-03-18 11:16:24

全光交换机

2010-02-26 10:38:29

Python语言

2010-02-03 09:35:20

Python函数编程

2010-02-02 13:22:06

Python面向对象

2010-02-03 11:26:28

2010-02-23 10:05:52

Python历史

2010-02-26 17:44:40

Python测试框架

2010-02-22 13:53:22

Python 中文乱码

2010-03-19 09:34:42

Cisco 2600模

2012-06-12 11:15:47

苹果OS X Mounta

2010-01-08 15:06:35

JSON功能

2010-03-01 16:48:02

Python模块

2010-03-01 17:40:29

Python面向对象语
点赞
收藏

51CTO技术栈公众号