简明python教程四-----模块

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

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

import sys

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

print '

ThePYTHONPATH is',sys.path,'
'

利用import语句输入sys模块。sys模块包含了与Python解释器和它的环境有关的函数

sys.argv变量是一个字符串的列表。特别sys.argv包含了命令行参数的列表。

记住:脚本的名称总是sys.argv列表的第一个参数。

字节编译的.pyc文件

创建字节编译的文件,这些文件以.pyc作为扩展名。

from...import语句

使用from sys import argv语句,可以避免每次使用sys.  来输入argv变量到你的程序中。

如果你想输入所有sys模块使用的名字,那么你可以使用from sys import*语句。

模块的__name__

每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。

用例:

#!/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'

运行结果:

This program is being run by itself

>>> import using_sys
I am being imported from another module

每个python模块都有它的__name__,如果它是‘__main__’,这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

使用python模块

记住:这个模块应该被放在我们输入它的程序的同一个目录中,或者在sys.path所列目录之一。

例如:

一个模块为:

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

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

version='0.1'

把它和python程序放在同一个目录下

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

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

输出结果为

Hi,this is mymodule speaking.
Version 0.1
>>> 

使用from...import

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

from mymodule import sayhi,version
#Alternative:
#from mymodule import *
sayhi()
print 'Version',version

输出结果与上例一样

dir()函数

内建的dir()函数类列出模块定义的标识符。标识符有函数、类和变量

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

>>> import sys
>>> dir(sys)
>>> dir()
>>> a = 5
>>> dir()
>>> del a
>>> dir()

使用del语句删掉当前模块中的变量/属性,这个变化在dir的输出中反应出来

关于del的注释:用来删除一个变量/名称。在这个例子中,del a,你将无法再使用变量啊---它好像从来没有存在过一样。

原文地址:https://www.cnblogs.com/Caden-liu8888/p/6376036.html