Python<12>模块

模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用。

 

一.为什么要使用模块

<1>代码重用

<2>系统命名空间的划分

这一点对有效避免了变量名的冲突很有帮助。

<3>共享服务和数据

 

二.导入模块实例

#b.py

def spam(text):

    print(text,'spam')

 

假设a.py想使用spam函数

#a.py

import b

b.spam('hello')

hello spam

 

三.import如何工作

<1>找到模块文件

<2>编译成位码(需要时)

<3>执行模块的代码来创建其所定的对象

 

四.常用语句

import module_name

from module_name import foo

区别就是import会读取整个模块,from将获取模块特定的变量名,此时使用时不用输入module_name.直接可以使用。

from module_name import *

当我们使用*时会取得模块顶层所有赋了值的变量名的拷贝。

 

注:import from都是赋值语句,在导入的一个变量名修改引用的数据时,原数据也会发生改变。

#a.py

x = 1

y = [1,2]

#b.py

from a import x,y

>>> x = 10

>>> y[0] = 20

 

import a

>>> a.x

1

>>> a.y

[20,2]

 

 

五、模块包的导入

import dir1.dir2.mod

from dir1.dir2.mod import x


补充:


为了区分包和模块,包中会有一个__init__.py


动态导入模块



try:
    from simplejson import json
except ImportError:
    import json
print json.dumps({'python':2.7})





 

 

 

参考<<learning python>>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值