流星

流星飞过的刹那,我....
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

python中的模块

Posted on 2009-02-19 16:17  泥土  阅读(586)  评论(0编辑  收藏  举报

     如果想要在其他函数中重用函数,需要使用模块。模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以 .py 为扩展名。

使用模块

     使用模块有两种方式:

  • import

     在函数中直接“import sys”就可以将模块导入。在使用时,可以用sys.path , sys.argv等方式来引入模块中的函数及变量

     例如:

#!/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') 
  • from….import

      如果想省略模块的文件名,而直接使用模块内的函数或变量,则可以使用这个方法。在引入模块之后使用“from sys import argv”或者“from sys import *” 这样的方式。

     例如:

定义模块:

#!/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
from mymodule import version
mymodule.sayhi() print('Version', version)

 

模块的__name__:

      每个模块都有一个名称,在模块中可以通过语句来找出模块的名称.这在一个场合特别有用:就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主块将被运行。

      每个python模块都有它的__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
>>> 

dir()函数和del:

  • dir()函数:可以使用内建的dir函数来列出模块定义的标识符。标识符有函数,类和变量。

当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供名称,它返回当前模块定义中的名称列表

  • del:这个语句在运行后被用来删除一个变量/名称。包括模块定义的及当前定义的。

 

  • del