PYTHON模块modules

一个module不过是一些函数,class放在一个文件中。例如:在当期目录中创建了一个文件叫testmodule.py:
"""
this only is a very simple test module
"""
age=0 # a sample attribute
def sayHello(): # a sample function in a module
print "Hello"
if __name__ == "__main__"
sayHello()


>>> import testmodule
>>> print testmodule.__doc__
this only is a very simple test module
>>>
>>> testmodule.age
0
>>> testmodule.age=1
>>> testmodule.age
1
>>> testmodule.sayHello
<function sayHello at 0x8174a34>
>>> testmodule.sayHello()
Hello
>>> sayHello=testmodule.sayHello
>>> sayHello()
Hello
>>> sayHello
<function sayHello at 0x8174a34>
>>>
>>> othermodule=testmodule
>>> othermodule.age=100
>>> testmodule.age
100


>>> from testmodule import age, sayHello
>>> age
0
>>> sayHello
<function sayHello at 0x81631a4>
[email protected]
40 , 208
Python
§1.11
(module)
(package)
>>> sayHello()
Hello
>>> testmodule
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name ’testmodule’ is not defined

怎么查找MODULE:
python用以下步骤查找一个module:
以import testmodule为例:
在当前目录中查找testmodule.py
若没找到,在环境变量中查看
若没有环境变量,那么在安装目录中查找
其实,python是在sys.path中的所有目录中查找module的
可以查看sys.path
>>> import sys
>>> print sys.path
[’’, ’/usr/lib/python2.2’, ’/usr/lib/python2.2/plat-linux2’,
’/usr/lib/python2.2/lib-dynload’,
’/usr/lib/python2.2/site-packages’]
从查找顺序上来看,我们可以知道如果你在当前目录中建立了一个和标准库中带有的标准module有相同名字那么会用你的module代替系统module,会产生莫名其妙的问题,所以我们要注意,自己的module名字不要和系统的module名字相同

你可能感兴趣的:(PYTHON模块modules)