课程首页 › 第11章 › 第56课

第56课 命名空间

第11章 汇聚功能的模块· 知识点:模块 · 原书 11.3

(3)除这两种方式外,还可以通过import verificationCode import*将verificationCode模块中的所有变量或者函数导入进来。但是要注意的是,这种方式将模块中的所有内容都导入进来了,很容易出现冲突。

它们的区别关键在于命名空间。

小贴士

如果模块名称很长,书写很麻烦,可以给导入的模块取一个新名字,通过import verificationCode as vc将verificationCode模块命名为vc,每次使用的时候都可以用vc别名替代verificationCode。

插图

日常生活中也有类似命名空间的存在,比如编程学校有2个同学都叫果果,一个在A班,另一个在B班。

当果果的妈妈要找自己孩子的时候,需要先告诉老师孩子在A班还是B班,这样老师才能快速地帮她找到孩子。

这里的A班、B班就可以看作命名空间。

在学校里找果果

当我们在学校里找果果的时候,需要说明是哪个班(命名空间):A

班.果果

B班.果果

在班找果果

只需要直接在班里喊一声就好,因为A班只有一个果果。

局部命名空间1.

每一个函数都有自己的命名空间,称为局部命名空间,记录了函数的变量、函数的参数、局部定义的变量。

在Python中,可以通过locals()来访问局部命名空间,一起来看里面到底有什么玄机。

插图

程序运行结果如下:

我是函数中的变量

{'num':1,'str':'test','x':'func()x'}

结果为:我是函数中的变量

func()x

(1)在程序中定义了函数func(),该函数有两个参数,分别为num和str。在该函数中定义了一个局部变量x,并且给x设置了值我是函

func()

数中的变量x。

(2)在函数中,通过print(locals())打印局部命名空间的内容。程序运行结果如下:

,,我是函数中的变量

{'num':1'str':'test''x':'func()x'}
插图

通过上图,就可以很明确地看到局部命名空间包括函数中的参数和函数中的局部变量。

全局命名空间2.

每个模块都有自己的命名空间,称为全局命名空间,记录了模块的变量,包括函数、类、其他导入的模块、模块级的变量和常量。

在Python中,我们可以通过globals()来访问全局命名空间,探索看看里面到底装了什么。

小贴士

确保你的文件和verificationCode模块保存在同一个文件夹下哦。

内置标准模块

Python提供了很多模块资源,无须安装即可使用,借助这些模块资源可以完成很多工作,例如操作文件、时间操作、进行数学计算等。

本节我们来学习几个Python内置标准模块。更多的模块可以自己查看官方文档哦。

模块math

大家应该都学习过加、减、乘、除四则运算,甚至更加复杂的对数、乘方、开方运算。在Python中,要实现这些运算,需要用到math模块。

2的3次方等于多少?

x的平方根怎么计算呢?

这两个问题,通过调用math模块的函数都可以帮我们解决。

2的3次方可以借助math模块中的pow(x,y)函数来计算,pow(x,y)函数的入参分别为x和y。

x的平方根可以借助math模块的sqrt(x)函数来计算。话不多说,代码奉上。

插图

程序运行结果如下:

的次方为:2 3

的平方根为:16

在程序中,通过import math导入了math模块。

通过math.pow(2,3)调用math模块的pow()函数计算2的3次方。

通过math.sqrt(16)调用math模块的sqrt()函数计算16的平方根。

除这两个函数外,math模块中还有很多函数可以帮助我们进行复杂的数学运算。

要查看更多的函数,有多种方法,这里介绍一种方法方便大家自己查看和学习Python模块。

插图
插图

首先单击链接https://docs.python.org/3/,进入在线文档。

插图

根据自己安装的IDLE版本,单击左侧相应版本的文档选项。

将在线文档页面往下拉,找到Global Module Index选项。

插图

单击Global Module Index,进入Python模块索引页,这里提供了首字母索引。

插图

我们要查找math模块,单击m,跳转到m开头的模块列表处。

插图

单击math模块,就可以看到math模块的详细介绍。

插图

小贴士

如果你的英文不够好,使用浏览器的翻译插件就可以将它们变成中文了。

模块学习小结

(1)Python模块是一个Python文件。

(2)import模块名称导入模块。

(3)from模块名称函数名/变量名导入模块中的函数或者变

import量。

(4)认识命名空间。

(5)每个函数都有自己的命名空间,称为局部命名空间,记录了函数的变量、函数的参数、局部定义的变量。

(6)每个模块都有自己的命名空间,称为全局命名空间,记录了模块的变量,包括函数、类、其他导入的模块、模块级的变量和常量。

(7)内置命名空间包括Python内置函数、内置常量等。

(8)Python内置标准模块:math模块、random模块。

(9)查看在线文档自学Python模块。

模块学习小挑战

(1)编写通讯录模块,该模块可以实现创建通讯录、新增联系人、修改联系人电话、删除联系人、查看通讯录联系人名单功能。

(2)自学Python模块:time模块,并使用其中的函数。

第12章 玩转GUI编程

插图

计算机上有很多应用软件,这些软件可以帮助我们实现各种功能,例如听音乐、看视频、绘图画等,程序通过交互界面接收我们的指令,按照指令完成相应的工作,再将结果反馈在交互界面。本章我们一起来学习中的图形用户界面(,)

Python Graphical User Interface GUI编程。

什么是编程

什么是GUI编程呢?GUI是Graphical User Interface的简称,可以称为图形用户界面,是指计算机和用户交互的图形界面。

GUI能够让用户更好地认识和了解程序,了解程序的功能。

在GUI中,用户在人机交互界面上进行操作,通过键盘或鼠标输入指令,同时人机交互界面接收计算机的输出,完成计算机与我们之间的交互。

插图

计算器就是一个GUI,通过这个GUI,我们输入要计算的数字和符号,计算机进行计算之后,会在GUI上显示计算结果。

Python提供了自带的tkinter模块来制作GUI,tkinter模块是Python的标准图形库,使用tkinter模块能进行图形界面设计和交互操作编程。除此之外,还有很多外部模块(需要安装)可以选择,大家感兴趣可以自学哦。