零基础 学 python开发 (Genius套餐A)十七

夜光序言:

 

 

爱情是什么,爱情是平平淡淡的在一起,爱情是一份信任,爱情是容不得猜疑,爱情,这就是爱情,当激情退后,不分开,那才叫爱情。

 

 

 

 

 

 

正文:

3.6 Python 模块 
3.6.1 教学目标 

 


在计算一个数的平方根时我们使用了语句:
import math
目的是引入 math 模块。
模块就是一个保存了 Python 代码的文件,模块能定义函数,类和变量。

 

目标就是来编写与使用自己的模块,从而加深对系统模块的认识。

 


3.6.2 Python 模块使用 


我们通过一个例子来说明模块的建立与使用。

 

 



例 3-6-1:设计模块并引用它 


第一步: 设计一个程序 myModule.py,它包含两个函数 myMin,myMax:

def myMin(a,b):
 c=a
 if a>b:
 c=b
 return c
def myMax(a,b):
 c=a
 if a<b:
 c=b
 return c


把这个程序保存到 d:\temp 目录
第二步: 设计另外一个程序 abc.py,保存到相同的目录 d:\temp,在 abc.py 中引用
myModule.py:
import myModule
print(myModule.myMin(1,2),myModule.myMax(1,2))
或者:
from myModule import myMin,myMax
print(myMin(1,2),myMax(1,2))
执行 abc,py 结果:
1 2
由此可见我们在 abc.py 中通过
import myModule
语句引入了 myModule 模块,因此在 abc.py 程序中可以使用 myModule.py 中定义的
myMin,myMax 函数。
注意:
被引用的模块要放在与引用程序相同的目录下,或者放在 python 能找到的目录下;
在引用时不要加".py",不能写成 import myModule.py;
引用模块的函数时要写模块名称与函数名称,用“.”连接,例如 myModule.myMin;
通过模块我们可以把已经编写好的程序组织在一个个模块中,下次直接引用就可以了,
而不用再在本程序中重新编写函数。
系统已经编写好很多模块,例如数学模块 math,引入 math 模块就可以使用系统编写好的数学函数。

 

 

 



例 3-6-2:设计模块放在子目录中并引用它 


第一步: 设计一个程序 myModule.py,它包含两个函数 myMin,myMax,把这个程序保存到 d:\temp\mine 目录。
第二步:设计另外一个程序 abc.py,保存到目录 d:\temp,在 abc.py中引用 myModule.py:
from mine.myModule import myMin,myMax
print(myMin(1,2),myMax(1,2))
执行 abc.py 结果:
1 2

 

 



3.6.3 Python 模块位置 


Python 模块是设计好的 Python 程序,前面的例子我们看到这个模块可以放在应用程序的目录内或者它的子目录内。那么一般的模块应该放在哪里呢?Python 中的模块一般放在安装目录的 lib 文件夹中。

 

 

 

例 3-6-3:设计模块放在 lib 目录中并引用它 


第一步: 设计一个程序 myModule.py,它包含两个函数 myMin,myMax,把这个程序保
存到 Python 安装目录的 lib 目录中。
第二步:设计另外一个程序 abc.py,保存到目录 d:\temp,在 abc.py中引用 myModule.py:
from myModule import myMin,myMax
print(myMin(1,2),myMax(1,2))
执行 abc.py 结果:
1 2

 

 



3.6.4 【案例】测试 Python 模块的位置 


1、案例描述 
Python 的模块是 Python 的重要部分,我们常常安装一个 Python 的程序包就是安装一个
文件夹,在这个文件夹中共有很多模块,至少这个程序包或者模块的位置是十分重要的。
2、案例分析 
一般 Python 中能存放模块的目录可以通过 sys.path 得到,在 Python 的命令行中输入:
>>>import sys
>>>sys.path
就可以看到 sys.path 都有什么目录,模块可以放在 sys.path 包含的任何一个目录中。
3、案例代码 
import sys
paths=sys.path
for p in paths:
 print(p)
执行这个程序,在 Anaconda 的环境下看到以下的结果:
C:\untitled
C:\ProgramData\Anaconda3\python36.zip
C:\ProgramData\Anaconda3\DLLs
C:\ProgramData\Anaconda3\lib
C:\ProgramData\Anaconda3
C:\ProgramData\Anaconda3\lib\site-packages
C:\ProgramData\Anaconda3\lib\site-packages\Sphinx-1.5.1-py3.6.egg
C:\ProgramData\Anaconda3\lib\site-packages\win32
C:\ProgramData\Anaconda3\lib\site-packages\win32\lib
C:\ProgramData\Anaconda3\lib\site-packages\Pythonwin
C:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg
当然不同的开发环境下结果不同,从这些目录乐意看到 Python 的程序包或者模块存放的
位置是很多的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、 课程设计目的 会用C++语言和数据结构知识实现表达式的解析与计算;会使用动态链接库技术进行编程;会编辑、编译、运行MFC应用程序的基本过程.会MFC可视化编程技术。 二、 课程设计内容与实现的功能 1.C++语言的顺序结构,分支结构,循环结构,函数,结构体,指针,MFC可视化编程技术。 2.数据结构的二叉树数据组织、存贮、后序遍历及其操作。 3. 使用动态链接库进行函数模块设计,实现计算功能。 4.编程使用了动态连接库技术; 能实现表达式的输入,解析与计算 三、 系统分析与设计 1、系统分析 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL函数的结构信息。Visual C++6.0在VC in目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录,2.进程的当前工作目录, 3.Windows系统目录, 4.Windows目录,5.列在Path环境变量的一系列目录。 1.隐式链接 隐式链接就是在程序开始执行时就将DLL文件加载到应用程序当。实现隐式链接很容易,只要将导入函数关键字_declspec(dllimport)函数名等写到应用程序相应的头文件就可以了 2.显式链接 显式链接是应用程序在执行过程随时可以加载DLL文件,也可以随时卸载DLL文件,这是隐式链接所无法作到的,所以显式链接具有更好的灵活性,对于解释性语言更为合适。不过实现显式链接要麻烦一些。在应用程序用 LoadLibrary或MFC提供的AfxLoadLibrary显式的将自己所做的动态链接库调进来,动态链接库的文件名即是上述两个函数的参数,此后再用GetProcAddress()获取想要引入的函数。自此,你就可以象使用如同在应用程序自定义的函数一样来调用此引入函数了。在应用程序退出之前,应该用FreeLibrary或MFC提供的AfxFreeLibrary释放动态链接库。 2、系统设计: 按照系统设计要求,用Visual C++设计开发一个MFC应用程序---高级计算器。计算器的界面设计、计算功能实现、算式计算和动态链接库的使用等。提交由需求分析:系统设计说明、系统技术文档、系统使用说明书和源程序代码为附录构成的实验报告。 2.1、模块设计: 1. 计算器界面 计算器界面包括主题“高级计算器”和背景图片以及电子日历。在计算区上有显示文本框和数字按钮以及运算符按钮。在计算区上部分有运算模式选择模块和小提示语句。 2. 模块功能简介 系统分为多个模块,分别为计算模块、错误分析模块、界面显示模块和模式选择模块。其计算模块用来进行各种基本的加、减、乘、除的运算并且显示运算结果;错误分析模块用来进行错误处理;界面显示模块用来美化计算器界面;模式选择模块用来进行运算模式的选择和切换,以实现不同的运算要求

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值