内容正文:
——可 以 复 用 的 代 码
代 码 共 享
课前预习
3分钟时间预习课本P43-P44,完成以下题目
2.使用“函数”和“( )”是代码复用的常见方法。
A.循环 B.模块 C.递归 D.迭代
1.python中模块导入的关键字是什么( )
A、def B、return C、import D、from
C
B
2
教 学
目 标
了解发布共享代码的常见方法。
通过案例分析,学会如何导入和使用代码。
3
代码发布及导入
任何人编写的代码都有可能帮助别人,如何共享这些有价值的成果呢?
通过QQ、微信传送
百度网盘等第三方网站……
通过模块发布代码
4
代码发布及导入
2人一组,
A同学生成相应模块并发布,将发布后的文件夹共享给B。
B同学将发布后的共享文件夹下载并在本地安装,导入模块并使用,实现火柴棒摆数字问题。
如何将自己写好的代码发给他人,其他人又如何使用别人发布的代码呢?
5
发布代码
一
1.首先做好发布前的准备工作。在D:\创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件。文件内容如下:
mymodule.py是一个模块文件,其内容就是match_num函数。
def match_num(num):
f=[6,2,5,5,4,5,6,3,7,6] # 0~9的数字分别需要多少根火柴棒
if num==0:
total=6
else:
total=0 # 火柴棒总数变量赋初值
while (num>0):
x=num % 10 # 取num除以10的余数,即num的个位数
total=total+f[x] # 所需火柴棒数累加
num=num//10 #num整除10,即去掉num的个位数
return total #返回需要多少根火柴棒数
将上节课学习的火柴棒摆数字代码进行发布
6
发布代码
一
setup.py文件包含有关发布的元数据,代码如下。
from distutils.core import setup
setup(
name ='mymodule', #参数一定要与mymodule.py文件名相同
version ='1.0.0', #版本号
py_modules =['mymodule'], #参数一定要与mymodule.py文件名相同
author='yd', #作者
author_email='yd@mail.com', #作者邮箱
description ='计算一个数字需要多少根火柴棒', #代码功能描述
)
7
发布代码
一
2.在DOS命令行中打开mymodule所在的目录,构建发布文件,命令如图1。请注意本机Python安装的位置,例子中Python安装在d:\python34文件夹中。
8
发布代码
一
3.最后将发布安装到你的Python本地副本中
9
发布代码
一
安装完成后mymodule文件夹包含了如下图所示的文件。
10
导入模块并使用
二
模块发布后,应该如何调用呢?
1、import 模块名
import random #导入random模块
2、from 模块名 import 函数名(*)
from tkinter import * #导入tkinter模块
3、import 模块名 as 别名
import time as time #加载time模块井取一个简洁的别名 time
import numpy as np #加载numpy模块井取一个简洁的别名 np
导入模块
调用模块里定义好的函数
11
导入模块并使用
二
导入时使用语句“import mymodule”,调用模块内的函数时用“mymodule.match_num()”来实现。
import mymodule #导入模块
snum=6
print("你可以拼出这些数字:")
for i in range(112):
if ① ==snum: #调用模块内match_num()函数