python 模块

原文链接


模块是包含函数和其他语句的python脚本文件,它以 .py 为后缀名。在python中可以通过导入模块,然后使用模块中提供的函数或者数据。

1、导入模块:

import 模块名

import 模块名 as 新名字

from 模块名 import 函数名

>>> import  string   #只指明模块的导入方法
>>> string.capitalize('use modules')
'Use modules'
>>> capitalize('use modules') #错误的调用方法
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'capitalize' is not defined
>>> from math import sqrt  #指明函数的导入方法
>>> sqrt(9)
3.0
>>> math.sqrt(9) #错误的方法
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'math' is not defined
>>>

显然在指明函数的导入方法中,在使用方法时可以不用指明模块名,所以要更方便一些,于是可以将模块的所有函数同时导入。

>>> from string import *
>>> split('user modules')
['user', 'modules']
>>> capitalize('use modules')
'Use modules'
>>>

2)模块的查找路径

python 解释器首先在当前目录中查找导入的模块。如果未找到模块,python解释器会从sys模块中的path变量指定的目录查找导入模块。

在脚本中可以向sys.path添加模块查找路径。下面将当前目录下的module子目录添加到sys.path中。

>>> import os
>>> os.getcwd()
'C://Documents and Settings//asus'
>>> import sys
>>> modulepath = os.getcwd() + '//module'
>>> sys.path.append(modulepath)
>>> print sys.path
['', 'C://WINDOWS//system32//python26.zip', 'C://Python26//DLLs', 'C://Python26/
/lib', 'C://Python26//lib//plat-win', 'C://Python26//lib//lib-tk', 'C://Python26
', 'C://Python26//lib//site-packages', 'C://Documents and Settings//asus//module
']
>>>

3)模块编译

对于模块而言, python 总是在第一次调用后将其编译成字节码的形式的pyc文件,以提高脚本的启动速度。

对于不作为模块的脚本而言,python不会在运行脚本后将其编译成字节码的形式。如果想将其编译的话,可以用如下方式:

 

#file:complie.py

#

import py_compile                             #导入py_complile模块

py_compile.compile('usemodule.py')  #编译usemodule.py

 

4)模块运行——__name__ 属性 (在name前后均是两条下划线)

当脚本是独立运行时,__name__属性的值是 __main__ ,当作为模块被导入时,__name__属性的值是模块名













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值