《Python基础教程》笔记 第12章 图形用户界面
本章将介绍图形用户界面(graphical user interface, GUI)的基本知识——包含按钮、文本框等控件的窗口。Tkinter是事实上的Python标准GUI工具包,包含在Python标准安装中。 本章简要地介绍Tkinter的用法。详见文档tkinter模块和TkDocs。 12.1 创建示例GUI应用程序 下面介绍如何创建一个简单的GUI应用程序。你的任务是编写一个简...
本章将介绍图形用户界面(graphical user interface, GUI)的基本知识——包含按钮、文本框等控件的窗口。Tkinter是事实上的Python标准GUI工具包,包含在Python标准安装中。 本章简要地介绍Tkinter的用法。详见文档tkinter模块和TkDocs。 12.1 创建示例GUI应用程序 下面介绍如何创建一个简单的GUI应用程序。你的任务是编写一个简...
本章将介绍文件和流,使你能够永久存储数据以及处理来自其他程序的数据。 11.1 打开文件 可以使用open()函数来打开文件。该函数将文件名作为唯一的必需参数,并返回一个文件对象。 假设在当前目录(命令行当前工作目录,os.getcwd())中有一个名为somefile.txt的文本文件,可以这样打开它: >>> f = open('somefile.txt') ...
Python不仅核心语言非常强大,还提供了更多工具以供使用。标准安装包含一组称为标准库(standard library)的模块。本章简要介绍模块的工作原理,然后概述标准库,重点介绍几个很有用的模块。 10.1 模块 你已经知道如何创建和执行程序(脚本),还知道如何使用import将函数从外部模块导入到程序中。下面看看如何编写自己的模块。 注:另见官方教程Modules一节。 10.1...
在Python中,有些名称很特殊,开头和结尾都是两个下划线(如__future__)。这样的拼写表示名称有特殊意义,因此绝对不要在自己的程序中创建这样的名称。这样的名称大部分都是魔法(特殊)方法的名称。如果你的对象实现了这些方法,它们将在特定情况下被Python调用,而几乎不需要直接调用。 本章讨论几个重要的魔法方法,其中最重要的是__init__()以及一些处理元素访问的方法。本章还将讨...
编写计算机程序时,通常能够区分正常和异常情况。为了处理这些异常事件,可以在每个可能发生这些事件的地方都使用条件语句。然而,这样做不仅效率低下、缺乏灵活性,还会让程序难以阅读。Python提供了强大的替代方案——异常处理机制(exception-handling mechanism)。 本章将介绍如何创建和引发异常,以及各种异常处理方式。 8.1 异常是什么 Python使用异常(exce...
创建自己的对象(和类)是Python非常核心的概念,以至于Python被称为面向对象的语言。在本章中,你将学习如何创建对象,以及多态、封装、方法、属性、超类和继承。 7.1 对象魔法 在面向对象编程(object-oriented programming)中,术语对象(object)大致意味着一系列数据(属性)以及一组访问和操作这些数据的方法。使用对象代替全局变量和函数最重要的好处: ...
本章将介绍如何将语句组合成函数,详细介绍参数和作用域,还将讨论递归是什么及其在程序中的用途。 6.1 懒惰即美德 如果你在一个地方编写了一些代码,在另一个地方也需要使用。当然可以再写一遍,但是如果已编写好的代码更复杂呢?真正的程序员不会这样做。真正的程序员很懒——“懒”不是贬义词,而是指不做无谓的工作。懒惰即美德(laziness is a virtue)。真正的程序员会让程序更抽象(ab...
你已经见过几种语句(print语句、import语句和赋值),先来看看这些语句的一些其他用法,再深入探讨条件语句和循环语句。然后将介绍列表推导式,它虽然是表达式,但工作原理几乎与条件语句和循环语句相同。最后将介绍pass、del和exec。 5.1 再谈print和import 随着你对Python的认识更加深入,你可能发现有些自以为熟悉的方面隐藏着让人惊喜的特性。下面来看看print和i...
当需要通过编号来访问值时,列表很有用。本章将介绍一种可以通过名称来访问值的数据结构,称为映射(mapping)。Python中唯一的内置映射类型是字典。 4.1 字典的用途 字典(dictionary)(不管是现实中的还是Python中的)的结构让你能很容易地查找特定的单词(键)从而找到其定义(值)。 在很多情况下,字典都比列表更合适。例如,如果想创建一个小型数据库,在其中存储一些人的名...
本章将介绍如何使用字符串来格式化其他的值(比如用于打印),并大致了解字符串方法,例如分割、连接、搜索等。 3.1 基本字符串操作 所有的标准序列操作都适用于字符串。但是,字符串是不可变的,因此所有的元素和切片赋值都是非法的。 3.2 字符串格式化:精简版 将值格式化为字符串是一个重要的操作,需要考虑众多不同的需求。因此随着时间的流式,多种方法被添加到语言中。 历史上,主要使用字符串格式...