【python学习】之三、模块

作者:jofranks 原创作品,转载请标明出处!版权所有,侵权必究!

来源:http://blog.csdn.net/jofranks


在这里我们要先看两个概念:模块和导入

当代吗数量非常大的时候,我们可以把代码分成一些有组织的代码段,前提是保证他们的彼此交互。这些代码片段相互间有一定的联系。这些代码段是共享的,python允许调入一个模块,允许使用其他模块的属性来利用之前的工作成果,实现代码重用!       这个把其他模块中属性附加到自己模块中的操作就是导入(import)。   

而那些自我包含并且有组织的代码片段就是模块(module)~!


模块的导入需要一个叫做“路径搜索”的过程。就是在文件系统“预定义区域”中查找文件!

路径搜索:指查找某个文件的操作!

搜索路径:去查找一组目录! (在不同系统下一般是不同的!)


模块导入:

1、import

import module1
import module2
。。。。

也可以
import module1[, module2[, ...moduleN]]
一般情况下,我们很少用第二种方法!

在python中,我们的导入顺序最好是:

(1)、python标准库模块

(2)、python第三方模块

(3)、应用程序自定义模块


2、from-import语句

你可以在你的模块中导入指定的模块属性!

from module import name1[, name2[, ...nameN]]

我们也可以用from-import实现多行导入!!

如:

from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text, LEFT, DISABLED, NORMAL, RIDGE, END)

我们在编程的时候应该使用上面的语句来创建合理的多行导入,

不要使用下面的方式:


from Tkinter import *

3、扩展的import语句

有时候你导入的模块或是模块属性名称已经在你的程序中使用了,或者你不想使用导入的名字!    我们要使用自己想要的名字替换模块的原始名称。    ---一个方案:把模块复制给一个变量!

import longmodulename
short = longmodulename
del longmodulename

现在我们使用扩展的import就可以在导入的同时制定局部绑定名称!

如:

import Tkinter
from cgi import FieldStorage
上面的代码可以替换为:



import Tkinter as tk
from cgi import FieldStorage as form


包:

包是一个有层次的文件目录结构!他定义了一个由模块和子包组成的python应用程序执行环境。

她也使用句点属性标识来访问他们的属性,使用import和from import语句导入包中的模块!

1、目录结构

Phone/

_init_.py

Voicedta/

a.py

Fx/

d.py

g/

f.py

如上面的目录结构:我么可以这样导入包:

import Phone.Fx.d

你也可以这样:

from Phone import Fx
Fx.d.dx()

或者:

from Phone.Fx import d

或者你可以按照这样的方式一直沿子包的树状结构导入


2、使用from-import导入包

(1)、绝对导入

import语句总是绝对导入!

(2)、相对导入

相对导入只用于from-import语句!




-----2012/7/30

-----jofranks 于南昌

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值