从入门到精通Python学习第十一课:模块

简介

你已经学习了如何在你的程序中定义一次函数而重用代码。如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块。模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。

模块可以从其他程序 输入 以便利用它的功能。这也是我们使用Python标准库的方法。首先,我们将学习如何使用标准库模块

使用sys模块

import sys

print('The command line atguments are:')

for i in sys.argv:
    print(i)

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

运行结果

如何工作

首先,我们利用import语句 输入 sys模块。基本上,这句语句告诉Python,我们想要使用这个模块。sys模块包含了与Python解释器和它的环境有关的函数。

当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块。如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被你 使用 。注意,初始化过程仅在我们 第一次 输入模块的时候进行。另外,“sys”是“system”的缩写。

sys模块中的argv变量通过使用点号指明——sys.argv——这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突。另外,它也清晰地表明了这个名称是sys模块的一部分。

from…import语句

如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from…import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。

模块的__name__
if __name__ == '__main__':
    print ('This program is being run by itself')
else:
    print ('I am being imported from another module' )
    ```
运行结果
![](https://img-blog.csdnimg.cn/20190406161240894.png)


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

###### 创建自己的模块

创建你自己的模块是十分简单的,你一直在这样做!每个Python程序也是一个模块。你已经确保它具有.py扩展名了。下面这个例子将会使它更加清晰。

要使用的模块studyPython015_doc.py

def printMax(x,y):
‘’‘Prints the maximum of two numbers.
The two values must be integers.’’’
x=int(x) # convert to integers, if possible
y=int(y)
if x>y:
print(x,‘is maximum’)
else:
print(y,‘is maximum’)
printMax(3,5)
print (printMax.doc)

使用模块

import studyPython015_doc

studyPython015_doc.printMax(1,2)

运行结果
![](https://img-blog.csdnimg.cn/20190406161302145.png)


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

### dir()函数

 

你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。

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

studyPython015_doc.printMax(1,2)

print(dir(studyPython015_doc))
···
运行结果
![](https://img-blog.csdnimg.cn/2019040616132534.png)


#### 概括

 

模块的用处在于它能为你在别的程序中重用它提供的服务和功能。Python附带的标准库就是这样一组模块的例子。我们已经学习了如何使用这些模块以及如何创造我们自己的模块。

接下来,我们将学习一些有趣的概念,它们称为数据结构。

>小编整理的一整套系统的Py thon学习教程从最基础的到框架再到项目实战的学习资料都有整理,送给每一位小伙伴, 有想学Py thon编程的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。[点击加入企鹅群](https://jq.qq.com/?_wv=1027&k=5FizBXA)

![](https://upload-images.jianshu.io/upload_images/14043969-473a49cef296c3d4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


---[原文地址](https://www.jianshu.com/p/c71397fbcebf)---

猜你喜欢

转载自blog.csdn.net/saltish1/article/details/89057006