ImageVerifierCode 换一换
格式:DOCX , 页数:125 ,大小:107.07KB ,
资源ID:10081651      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10081651.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Python学习笔记.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Python学习笔记.docx

1、Python学习笔记简明 Python 教程 - 前言 简明 Python 教程 - 介绍 简明 Python 教程 - 安装Python 简明 Python 教程 - 最初的步骤 简明 Python 教程 - 基本概念 简明 Python 教程 - 运算符与表达式 简明 Python 教程 - 控制流 简明 Python 教程 - 函数 简明 Python 教程 - 模块 简明 Python 教程 - 数据结构 Python教程 - 编写Python脚本 Python 教程 - 面向对象的编程 简明 Python 教程 - 输入/输出 简明 Python 教程 - 异常 简明 Python

2、教程 - Python标准库 简明 Python 教程 - 术语表 Python anygui 项目预览在 Python 世界中有一个非常有趣的 anygui 项目,它已经进入了早期的开发阶段。anygui 项目打算作为许多主要图形工具箱的下层 API。一旦完全开发成功,Python 程序员就可以调用一个公共 anygui 函数 例如,为创建一个窗口 可由“最适当好用”的工具箱来完成这项工作。在 Windows 上,可以使用到 Win32 API(或者 wxWindows);在 MacOS 上,可能本机调用;在 BeOS 上,使用 Bethon;在 Linux 上,使用 TKinter 或者

3、GTK;在 Telnet 屏幕上使用 ncurses 所有这些都取决于给定的机器上安装的和可用的软件。本文讨论了 anygui 当前的开发状态,以及该项目要达到的目标。编写一次,到处显示!许多年前当 Java 刚出现时,它的一个重要承诺就是实现代码“编写一次,随处运行”的想法。起先,主要考虑将 Java 用户界面作为 applet,嵌入到 Web 浏览器中。一段时间后,独立的 AWT 应用程序成为更流行的概念。接下来,AWT 通常被 Swing 所取代。Swing 又变成了 Bean(构建在 Swing 上,但有另外的要求)。这样依次下来,Swing 类从 Java 版本中添加、删减,不断来回

4、变化着。有关 Java 的一个很流行的笑话是,“编写一次,到处 调试”。至少可以确定的是,您不可能编写了一个 Java 应用程序后,非常自信地认为它可以运行在您应用程序的每个用户机器上 除非您愿意要求每个用户做相当多的工作来获取 Java 版本和配置,使它们完全符合您特定的应用程序。应用程序是否运行取决于 Java 版本,以及甚至特定的供应商和安装 Java 虚拟机(JVM)的平台。就大多数方面而言,如 Python、Perl 和 Tcl 这样的脚本语言,要比 Java 具有更好的可移植性。例如,对于大多数 Python 脚本,程序员感到十分自信的是,发送到多个用户的脚本在每台目标机器上都将正

5、确和完全一致地运行(可能有最低版本的要求 这要比 Java 上的要求简单得多、可靠得多)。当然,Java 除了不完美的移植性外,它也有许多优势:静态输入(许多人想要它)、庞大的类库、卓越的文档、细心的设计选择。但是有关那些语言的注意事项并不是我在这里感兴趣的话题。 Python 脚本可移植性中有一个地方比 Java 差很多,那就是在用户界面中。对于一个命令行工具,这一点不成问题。但当您希望复杂的用户交互时 特别专门针对图形界面时 Python 实际上什么也不能提供。对于所有的小故障和小错误,Java 通常确实为每个带 JVM 的平台提供了 Swing 和 AWT 这些基本的 GUI。相反,Py

6、thon 完全没有任何“标准”的 GUI 库。许多人都表示他们期望有标准的 Python GUI。 Tkinter 恰在这时到来 它有 Windows 和 UNIX/X Window 系统稳定的版本,并且有一个过得去的 MacOS 版本。但您还需要在系统上安装 TCL 和 TK,以及被忽略的“非主流”平台,如 BeOS 和 OS/2。各类倡导者建议,采用一些其它库绑定将会是一个更好的选择(有许多库可以进行选择;请参阅 参考资料)。而每个库绑定支持一个期望平台的子集;并且最重要的是,没有一个库绑定被一致地接受(因此,没有一个成为标准而随 Python 分发版一起发行)。我们无法编写带用户界面的应

7、用程序,并且无法确保实际 用户可以与它进行相互操作。重新考虑这个问题Java 思想创建了每个 JVM 必须实现的能力的一个标准集合。Java GUI 是根据规定而存在。Python 式的方法可能来自一个不同的角度。不再命令每台机器遵从某个确定的 API,取而代之的是,只是确定给定机器 可以做什么,然后从那里开始工作。API 仅作为底层平台所完成工作的包装器。一旦以 Python 方式考虑问题时, anygui 做了您确实希望做的事情。从 anydbm 模块中取出它的名字和相关说明,在运行时找到“最适当可用”的数据库后端, anygui 在自身应用程序正在运行的系统上会找到最适当可用的 GUI

8、后端。 anygui 强调提供一个可以和每个后端一起工作的 实用的界面元素集合;特定的后端可能自己能够提供更高级的界面,但 anygui 提供的是它们的公共的界面。 写本文的时候, anygui 还是一个 alpha 级的项目。对一个目标后端子集, anygui 已经做得非常好。但由于目标是建立一个(接近于)通用的包装器,只有一个子集在工作显然是不够的。最终,如果 anygui 达到了它的目标,则在每个 Python 分发版中, anygui 都将作为标准的 Python 包包含在其中,那才是有意义的(就如同不管什么依赖于系统的后端,Python 分发版中都包括了 anydbm 或者 xml.

9、sax )。毕竟,这一点才能确保每个用户都拥有了它。顺便提一下, anygui 是纯 Python;它本身不需要 C/C+ 或者其他较低级语言的任何东西(当然,如果有用, anygui 应该找一些支持的 GUI 库)。台和图片为了写本文,我快速研究了大多数工作后端。还有几个后端没有实现,或者只实现了部分功能。已经实现的有 Tkinter 、Java Swing、 win32all 、 PyGTK 和 wxPython 。BeOS 本机(带 Bethon)只实现了部分功能,但可能每天都构建一次进行新的改进。PyQT 和 MacOS 本机已经编制了规划,并且已经进行了开发,还没有创建这些包装器的实

10、现;当然,随着时间的推移,这些都可能发生变化。关于直接的 xlib 后端,也一直有一些讨论,但目前没有人自愿负责这项工作。上面所有的图形工具箱以一种非常相似的方式工作,或将以一种非常相似的方式工作。我承认我在大多数后端工具箱方面的知识很有限 但从我的理解, anygui API 在很大程度上与 Tkinter 相似。本质上,这个策略是创建带回调的一串窗口小部件,然后进入一个主事件循环。将来还可能会有一些其它后端,它们会打破这个“标准”的 GUI 工具箱模型。在某些方面,它们看起来似乎最有趣,或者至少很新颖。一个已经规划好的后端被期望由我来负责 但是在开发最初的版本时,我有点懈怠。希望在您读本文

11、时,这会有所改进。我自己开发的小型后端是 ncurses 。如果它最终实现,则这开创了甚至在文本模式的终端(譬如,SSH/telnet 会话)或者只是在纯 UNIX 机器(不带 X Window 系统)上运行 anygui 应用程序的可能性。 按照 curses 后端的风格, anygui 的项目负责人 Magnus Lie Hetland 已经建议了纯面向行界面(似乎有点倒退),它可以使用 readlines 支持。在这个方案中,菜单将简化成提示符,接着是选项选择,再接着是反馈或者结果等等。假想中的 anygui.backends.textgui 只需要 STDIN 和 STDOUT 来工作

12、,这对于程序来说,是令人感兴趣的,因为它所需要的最少。否则,该程序可能(一点未变动)运行在复杂的图形化、事件驱动和 WIMP 界面(窗口、图标、鼠标指针)。当然,到目前为止,它还只是一个想法。还有一个古怪的想法也同样有趣。每人都有一个 Web 浏览器(几乎),即使那个浏览器碰巧是 lynx 或者是 links 。Python 标准的 webbrowser 模块允许以一种与 anygui 以及和 anygui 具有相似功能的软件的方式,灵活地启动一个“最适当可用”的 Web 浏览器。如果那个浏览器与某类 LOCALHOST 服务器通信,那么所有您想要的基本界面设备都完全在 Web 浏览器内(按钮

13、、输入域、文本区域、图形等等)。这个后端也处于规划阶段。一幅图片抵得上用千言万语来表达的含义(至少有时候)。由于我的编辑们,出于善意,不希望将本专题出版为一万字的巨著,所以就让我们看几幅屏幕快照。为了说明需要,使用了一个小玩具应用程序,有一些按钮,并且启用了几个不活动性的按钮(它的源代码显示如下)。其中还包含了几个文本标签。其它窗口小部件示例包含在 anygui 分发版的 test 目录中。首先值得一看的,我们可能认为是作为“默认缺省值”的后端 Tkinter 。这个版本看上去和使用起来就与它应该做到的完全一致。但是, win.destroy() 调用就有点好笑 它没有立即破坏窗口(并且关闭应

14、用程序),而是一旦当窗口受到足够的注意(比如移动窗口),它就将窗口变为一个会消失的鬼怪。如同我说的,我们还停留在 alpha 阶段。这个示例在 Win98 下运行: Tkinter 下的按钮应用程序(在 Win98 上)在 Windows 下运行时,还有一个利用 win32all 模块使用 Windows 本机调用的选项。来自 ActiveState 的 ActivePython 分发版在缺省情况下有这个选项;否则,还需要另外获得此模块(也是来自 ActiveState)。总之,这种绑定是我看到的运行最好的一种 但那也只是反映在我做测试的版本上。标签的放置与 Tkinter 上的有一点不同,这

15、表示,一个人对不同后端不可能得到完全相同的视觉审美观。Win32 下的按钮应用程序(在 Win98 上)接下来,我决定将话题转到一个完全不同的平台上。在 OS/2 Warp 4 下运行 Python,我得到了如下的结果。由于某些原因,在文本标签前面多了一个不必要的 。尽管这是一个很小的错误,但令人印象深刻的是,同一段代码运行在不同的平台上,结果竟然是如此的不同:Java Swing 下的按钮应用程序(在 OS/2 Warp 4 上)然后转到 Linux 平台,在已经安装了 PyGTK 的系统上运行相同一个应用程序。只为了好玩,我在几个不同的 window 管理器下运行该应用程序。首先在 Enl

16、ightenment 上:GTK 下的按钮应用程序(在 Enlightenment 上)然后在 WindowMaker 上: GTK 下的按钮应用程序(WindowMaker 上)在不同窗口管理器下的窗口框架内所有东西都是相同的。标签的对齐和尺寸与 Windows 下的有点不同(需要额外增加几个像素,避免截断字)。我无法很容易地在我任何一个系统上安装 wxPython ,但我想结果应该是相似的。BeOS 后端还处于一种较原始的状态。甚至玩具应用程序也失败了。但是,基本的 Window 类工作得很好:BeOS r5 上的窗口测试应用程序一些自身相同的代码这段运行在所有证明过的平台上的代码非常简单

17、。在我的示例中,该程序的上半部分完全是实现一个 switch,允许从命令行手工选择要使用的后端。在产品代码中,您将不会希望有这样的选择;但对于早期的测试,就象我所做的这些,是很有帮助。然而请注意,这里显示的屏幕快照的这些所有测试完全在没有任何命令行选项的情况下运行 后端的选择是自动的。让我们来看一下代码:anygui 的button.py文本应用程序import sysif len(sys.argv)=1or sys.argv1.upper()=DEFAULT:from anyguiimport Window, Button, Application, Labelelif sys.argv1.

18、upper()=TK:from anygui.backends.tkguiimport Window, Button, Application, Labelelif sys.argv1.upper()=MSW:from anygui.backends.tkguiimport Window, Button, Application, Labelelif sys.argv1.upper()=BEOS:from anygui.backends.beosguiimport Window, Button, Application, Labelelif sys.argv1.upper()=GTK:from

19、 anygui.backends.gtkguiimport Window, Button, Application, Labelelif sys.argv1.upper()=JAVA:from anygui.backends.javaguiimport Window, Button, Application, Labelelif sys.argv1.upper()=WX:from anygui.backends.wxguiimport Window, Button, Application, Labeldef say_hello():global byeprintHello, world!by

20、e._set_enabled(1)app = Application()win = Window(width=150, height=150, title=Beatles Lyric)win.add(Label(x=10, y=10, width=140, text =I dont know why you say.)bye = Button(x=30, y=40, width=70, height=30, text=Goodbye, action=lambda: win.destroy(), enabled=0)win.add(bye)win.add(Label(x=10, y=70, wi

21、dth=120, height=32, text =When I say.)hi = Button(x=30, y=100, width=70, height=30, text=Hello, action=say_hello)win.add(hi)win.show()app.run()应用程序的主框架只由四个步骤组成:(1)创建一个应用程序;(2)创建一个或多个窗口;(3)在窗口中添加一些窗口小部件;(4)调用 app.run() 事件循环。窗口小部件选项都作为命名的参数传递。结束语在目前的 anygui alpha 版中已经有编写基本“获取一些数据,对它进行处理,并且显示一些结果”的应用程序

22、所需要的一切东西。讨论列表中包含了许多关于更多细微差别的事件处理、视图模型等有趣的主题。此外, anygui API 还需要正式的地编制文档。然而在承诺方面,在很长一段时间内 anygui 与我看到的任何 Python 库相比,更令我兴奋。几乎很难想象在 Python 自身运行的地方,它能够透明地获取复杂的用户界面,这是多么的方便 根本不需要为平台细节方面更改一行代码。简明 Python 教程 - 前言Python语言可能是第一种即简单又功能强大的编程语言。它不仅适合于初学者,也适合于专业人员使用,更加重要的是,用Python编程是一种愉快的事。本身将帮助你学习这个奇妙的语言,并且向你展示如何

23、即快捷又方便地完成任务真正意义上“为编程问题提供的完美解决方案!”本书的读者本书可以作为Python编程语言的一本指南或者教程。它主要是为新手而设计,不过对于有经验的程序员来说,它同样有用。即便你对计算机的了解只是如何在计算机上保存文本文件,你都可以通过本书学习Python。如果你有编程经验,你也可以使用本书学习Python。如果你以前有编程经验,那么你将会对Python语言和其他你所钟爱的编程语言之间的区别感兴趣。对此我为你指出了许多这样的区别。顺便提醒你,Python将很快成为你最喜欢的编程语言!本书的由来我最初接触Python是当我需要为我的软件钻石写一个方便安装过程的安装程序的时候。我

24、得在Python和Perl语言中选择一个绑定Qt库。我在网上做了一些研究,偶然发现了一篇文章。那是Eric S. Raymond(著名的电脑高手)谈Python如何成为它最喜欢地编程语言的一篇文章。我同时发现PyQt绑定与Perl-Qt相比要出色得多,所以我选择了Python语言。之后我开始寻找一本关于Python的优秀书籍。我竟然找不到!虽然我找到了一些OReilly的书,不过它们不是太贵就是如同一本参考手册而不是一本指南。我最后使用了Python附带的文档,不过它太简略了。那个文档确实很好的给出了Python的概念,不过不够全面。尽管最后我根据我以前得编程经验掌握了那个文档,不过我觉得它完

25、全不适合于新手。大约在我首次使用Python语言的六个月之后,我安装了那时最新的Red Hat 9.0 Linux。在我玩弄KWord应用程序的时候,我突然想写一点关于Python的东西。很快我就写了30多页,然后我开始认真地想办法把它变成一本完整的书。经过 多次 的改进和重写,它终于成为了一本有用的完整的Python语言学习指南。我把本书贡献给开源软件者们。本书来自于我个人学习Python的笔记,不过我尽力让它更加适合别人的口味。在开源精神的鼓舞下,我收到了许多建设性的建议和批评以及来自热心读者的反馈,它们使这本书变得更加出色。本书目前的状况本书目前仍然在进一步完善中。许多章节已经频繁地做了

26、修改。然而本书已经十分成熟了,你一定可以很容易地通过它学习Python。如果你觉得本书中有什么错误或者难懂的地方,请告诉我。本书将来计划增加更多的章节,包括wxPython,Twisted,有可能的话甚至还有Boa Constructor。本书的官方网站是www.byteofpython.info。你可以在这个网站上在线阅读本书,也可以下载本书的最新版本或给我反馈。约定条款本书(原版)依照创作共用约定(署名-非商业作品-保持一致)发布。简单地说,你只要署上我的名字,就可以免费复制、分发和展示本书。未得到我的允许,你禁止把本书用于商业目的。你在修改本书的时候,必须清楚地标明所有做了改动的地方,你

27、发布修改后的作品时也必须遵照与本书相同的约定。请访问创作公用约定的网站浏览约定全文,或者查看一个简单易懂的约定描述。那里还有一个连环画似的约定条款的解释。反馈我尽了很大的力让这本书即生动又尽可能的准确。然而,如果你找到任何不太令你满意的地方或者错误,或者是需要改进的地方,请告诉我以便我改正它们。你可以把它们通过*发送给我。值得思考的一些东西有两种方式构建软件设计:一种是把软件做得很简单以至于明显找不到缺陷;另一种是把它做得很复杂以至于找不到明显的缺陷。C.A.R. Hoare获得人生中的成功需要的专注与坚持不懈多过天才与机会。C.W. Wendte简明 Python 教程 - 第1章 介绍简介

28、Python语言是少有的一种可以称得上即简单又功能强大的编程语言。你将惊喜地发现Python语言是多么地简单,它注重的是如何解决问题而不是编程语言的语法和结构。Python的官方介绍是:Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。我会在下一节里详细地讨论Python的这些特点。注释Python语言的创造者Guido van Rossum是根据英国广播公司的节目“蟒蛇飞行马戏”命名这个语言的,并非他本人特别喜欢蛇缠起它们的长身躯碾死动物觅食。Python的特色简单Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2