python 学习笔记4

这篇博客主要探讨了Python中的模块使用,包括使用`import`和`from...import`导入模块,详细解析了`sys.argv`在模块中的应用。还介绍了模块的`__name__`属性,解释了如何根据`__name__`判断模块是否被直接运行,并利用此特性进行模块的测试。最后,阐述了如何创建并使用自己的Python模块。

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

10.模块

a.模块的使用

我们使用import …来导入一个模块,也可以使用from … import …来导入一个模块中指定的某些成员。例如,我们来导入一个标准模块sys

#!/usr/bin/python
# Filename: using_sys.py

import sys

print 'The command line arguments are:'
for i in sys.argv:
    print i

print '\n\nThe PYTHONPATH is', sys.path, '\n' 

输出

$ python using_sys.py we are arguments
The command line arguments are:
using_sys.py
we
are
arguments


The PYTHONPATH is ['/home/swaroop/byte/code', '/usr/lib/python23.zip',
'/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2',
'/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload',
'/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/gtk-2.0']

其中We are arguments是参数。通过sys.argv可以看到,第一个参数sys.argv[0]是’using_sys.py’,永远是文件名。后面的’we’是sys.argv[1]、’are’是sys.argv[2]以及’arguments’是sys.argv[3].调用一个模块就是从指定的路径(环境变量)中寻找该模块。

b.模块的__name__

对于每一个模块,都有一个自己的__name__。当一个py文件被执行的时候,也可以把这个文件看作一个模块,有它自己的__name__。如果它是’main‘,这说明这个模块被用户单独运行;如果是被调用的话,则它是该模块名。

#!/usr/bin/python
# Filename: using_name.py

if __name__ == '__main__':
    print 'This program is being run by itself'
else:
    print 'I am being imported from another module' 

输出:

$ python using_name.py
This program is being run by itself

$ python
>>> import using_name
I am being imported from another module
>>> 

这样的话我们可以在if __name__ == ‘__main__’:里添加代码用于测试这个模块(或者说程序),这个时候,if __name__ == ‘__main__’的作用就和main函数一样了。

c.创建自己的模块

创建自己的模块很简单!确保它具有.py扩展名,然后把它放到和执行程序一样的路径中(或ys.path所列目录之一)即可。注意,模块里的变量在外部调用时,要用’模块名.变量名‘来使用。

#!/usr/bin/python
# Filename: mymodule.py

def sayhi():
    print 'Hi, this is mymodule speaking.'

version = '0.1'

# End of mymodule.py 
#!/usr/bin/python
# Filename: mymodule_demo.py

import mymodule

mymodule.sayhi()
print 'Version', mymodule.version 

输出:

$ python mymodule_demo.py
Hi, this is mymodule speaking.
Version 0.1 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值