PYTHON模块modules

本文详细介绍了Python中模块的概念及使用方法,包括如何定义模块、导入模块,并展示了通过不同方式访问模块属性和函数的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个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>
annCharles@tom.com
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名字相同

转载于:https://my.oschina.net/annieduoduo/blog/71375

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值