你好,我是悦创。

从现在开始,我们将尝试图形用户界面(GUI)程序的编写。Python 标准库中包含了支持图形绘制的模块,我们利用这些模块来绘制图形。

首先,我们要了解一下什么是模块。

认识 Python 模块

Python 中的模块(module)就是一个 Python 文件,以 .py 结尾,包含了 Python 对象的定义和 Python 语句。模块能够更有逻辑地组织 Python 代码段。把相关的代码分配到一个模块里,能够让代码更好用,更易懂。模块可以用来定义函数、类和变量,模块之中也能够包含可执行的代码。

当安装 Python 的时候,就有不少模块也随之安装到本地的计算机上了,我们可以免费使用这些模块。而这些在安装 Python 时就默认已经安装好的模块统称为“标准库”。

我们可以使用 import 语句来导入模块。当解释器遇到 import 语句的时候,如果跟在 import 语句后面的模块在当前的搜索路径中,就会被导入。不管你执行了多少次 import 语句,一个模块只会被导入一次,这样可以防止一遍又一遍地执行导入模块操作。

Python 导入模块

Python 中有两种常用的导入模块的方法,我们先来看第一种。

  1. import module_name

如果使用这种导入方式,当我们引用模块中的方法时,要在方法名称前加上 module_name. 前缀。来看一个简单的示例。

  1. import turtle
  2. turtle.forward(100)

这两行代码中,第1句就是导入模块,第 2 句是调用模块中的 forward() 方法。

再来看看第二种导入模块的方法。

  1. from module_name import *

使用这种方法可以导入 module_name 模块中所有的方法和变量,当需要调用方法时,直接写方法名称就可以,不需要再加 module_name. 前缀。

我们改写一下前面的示例。

  1. from turtle import *
  2. forward(100)

那么,什么时候应该使用第一种方法,什么时候使用第二种方法呢?

如果你想要有选择地导入某些属性和方法,而又不想要其他的属性和方法,就应该使用第一种方法。如果模块包含的属性和方法与你自己的某个模块同名,那么必须使用第一种方法来避免名字冲突。

如果想要经常访问模块的属性和方法,并且不想一遍又一遍地敲入模块名,而且在导入的多个模块中不会存在相同名称的属性和方法,那么就可以使用第二种方法。