Python学习(九)模块

一、概念

模块基本上就是一个包含了所有你定义的函数和变量的文件。文件名必须以.py为扩展名。

模块可以从其他程序输入以便利用它的功能。这也是我们使用Python标准库的方法(标准库模块)。

二、举例(调用标准库)

Python学习(九)模块       Python学习(九)模块

说明:

1、import sys:引用系统sys模块(sys模块包含了与Python解释器和它的环境有关的函数。当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块)。

2、sys.argv:获取函数参数。(sys.argv变量是一个字符串的列表。特别地,sys.argv包含了命令行参数 的列表,即使用命令行传递给你的程序的参数。)

3、i in:打印带入参数,以列表形式。

4、sys.path:打印sys的路径。

 

 

三、字节编译的.pyc文件

1、概念:介于源代码和机器语言之间

2、意义:创建字节编译的文件,以便使输入模块更加快一些。下次用会快(这些字节编译的文件也是与平台无关的)。

 

 

四、from..import语句

1、概念:

如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。

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

这对于所有模块都适用。一般应该避免使用from..import而使用import语句,这样可使程序更加易读,也可避免名称的冲突。

2、举例:

比如:  from module import attr   和   import  module.attr(推荐)

module.attr名称更明显,如果使用第一种,会和原有的attr冲突。

 

五、模块的__name__

1、概念:

系统初始化的一个变量,此变量值代表当前运行的模块名称。

2、意义:

个人理解此部分有两种用处:

  • a、 __main__ 在python中作可以为函数的入口,而实际工程常用 if __name__=='__main__'表示整个工程开始运行的入口。
  • b、“全局变量”的意思,放入if里面就成了私有的了。比如不想让功能的某部分被别的模块调用执行,比如我自定的模块Student里的‘我的密码是xxx’,只有自己执行才可以打印密码。所有你可以把部分写在if语句里,只有__name__=='__main__'的时候才能执行。这个可以这么理解,在if语句之外代码是最外层的。

 

六、dir()函数

1、概念:

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

2、举例:

Python学习(九)模块

七、创造自己的模块

1、新建一个模块,mymodule.py

Python学习(九)模块

2、新建主程序mymodule_demo.py,调用上一个模块

Python学习(九)模块

3、查看结果

Python学习(九)模块