Python 模块
接下来,我们准备为大家介绍"模块"。
模块:
(1)模块即Python中后缀名为“.py”的文件,其实,就是一个一个的文件。
(2)模块主要的目的,是让我们将代码的不同部分写在不同的文件中,即模块中,方便代码的管理。
(3)模块中主要包含函数或类。
(4)当要使用模块时,可以通过导入的方式来导入模块,然后,就可以使用模块中的函数或类。
导入的格式如下:
1、import 模块名
2、import 模块名 as 新名字
3、from 模块名 import 函数名1或类名1,函数名n或类名n
4、from 模块名 import *
导入格式分析:
(1)4种格式中的模块名就是保存了Python代码的文件的文件名。
(2)第一种格式,通过import 导入模块,然后,可以通过模块名
调用文件中(即模块中)的全部函数或类。
(3)第二种格式,通过import 导入模块,然后,再通过as为模块改一个名字,
然后,通过新改的名字就可以调用文件中(即模块中)全部函数或类。
(4)第三种格式,通过from导入模块,然后,再通过import 指定要导入该模块中的哪个
函数或类,然后,只可以调用导入的函数和类,而没有导入的函数与类就不可以调用。
通过这种格式的导入,可以直接使用类名或函数名,而不需要通过模块名来调用。
(5)第四种格式,与第三种是一样的,只是import后用了星号,代表导入模块中全部的内容。
通过这种格式的导入,可以直接使用类名或函数名,而不需要通过模块名来调用。
接下来,我们结合例子作进一步的学习
例子:
#========================
#将以下的代码保存于文件py001.py中,即py001模块
#========================
class Gun :
def Boom( self ): #定义了方法Boom
pow = 1000
return pow
class ShotGun :
x = 10
y = 10
def Boom( self ): #定义了方法Boom
pow = 1000
return pow
#========================
#将以下的代码保存于文件py002.py中
#========================
import py001 #导入了py001模块(就是上面的py001.py文件)
SG = py001.ShotGun() #通过模块名py001调用了类ShotGun,并定义了对象SG
SG.x = 20 #通过对象SG调用类中的属性X
SG.y = 20 #通过对象SG调用类中的属性Y
SG.Boom() #通过对象SG调用类中的方法Boom
GN = py001.Gun() #通过模块名py001调用了类Gun,并定义了对象GN
GN.Boom() #通过对象GN调用类中的方法Boom
#========================
#将以下的代码保存于文件py003.py中
#========================
import py001 as BBQ #导入了py001模块,并将模块名改为BBQ
SG = BBQ.ShotGun() #通过新改的模块名BBQ调用了类ShotGun,并定义了对象SG
SG.x = 20 #通过对象SG调用类中的属性X
SG.y = 20 #通过对象SG调用类中的属性Y
SG.Boom() #通过对象SG调用类中的方法Boom
GN = BBQ.Gun() #通过新改的模块名BBQ调用了类Gun,并定义了对象GN
GN.Boom() #通过对象GN调用类中的方法Boom
#========================
#将以下的代码保存于文件py004.py中
#========================
from py001 import Gun,ShotGun #导入了py001模块中的Gun类与ShotGun类
SG = ShotGun() #由于导入了ShotGun类,所以,可以使用ShotGun直接定义对象SG
SG.x = 20 #通过对象SG调用类中的属性X
SG.y = 20 #通过对象SG调用类中的属性Y
SG.Boom() #通过对象SG调用类中的方法Boom
GN = Gun() #由于导入了Gun类,所以,可以使用Gun直接定义对象GN
GN.Boom() #通过对象GN调用类中的方法Boom
#========================
#将以下的代码保存于文件py005.py中
#========================
from py001 import * #导入了py001模块中的全部内容
SG = ShotGun() #可以使用ShotGun直接定义对象SG
SG.x = 20 #通过对象SG调用类中的属性X
SG.y = 20 #通过对象SG调用类中的属性Y
SG.Boom() #通过对象SG调用类中的方法Boom
GN = Gun() #可以使用Gun直接定义对象GN
GN.Boom() #通过对象GN调用类中的方法Boom
非常好,现在,我们已经掌握了Python中的“模块”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)