目录

一、什么是模块二、导入模块三、name=‘main‘四、搜索路径

一、什么是模块

容器 -> 数据的封装
函数 -> 语句的封装
类 -> 方法和属性的封装
模块 -> 模块就是程序,模块就是.py文件
导入hello模块,且使用hello命名空间的hi()函数

(1)hello.py模块的创建
注意模块与调用的程序要在同一个文件夹下面

Python基础之模块相关知识总结

import的时候直接写名字就行了,不用加上.py,eg:hello.py,hello就是模块名

(2)执行
Python基础之模块相关知识总结

命名空间

在Python中,每个模块都会维护一个独立的命名空间,我们应该将模块名加上,才能够正常使用模块中的函数。

二、导入模块

(1)import导入模块

TemperatureConversion模块

Python基础之模块相关知识总结
Python基础之模块相关知识总结
Python基础之模块相关知识总结

(2)from 模块名 import 函数名(不推荐使用)

会导入整个命名空间

Python基础之模块相关知识总结
Python基础之模块相关知识总结

(3)import 模块名 as 新名字(推荐使用)

Python基础之模块相关知识总结 

三、name=‘main

文件架构

Python基础之模块相关知识总结

TemperatureConversion.py文件

将测试代码写在了TemperatureConversion.py文件中

Python基础之模块相关知识总结

在calc.py中调用TemperatureConversion模块,这种方式会导致将python中的测试代码也打印出来了

Python基础之模块相关知识总结
Python基础之模块相关知识总结

为了解决上面的问题,需要让python知道:该模块是作为程序运行,还是导入到其他程序中,所以使用了__name__变量。

在主程序中使用__name__变量,得到的是__main__变量。
tc.__name__得到的是模块的名字。
所以修改TemperatureConversion.py文件。
若__name__等于模块名的话,说明该模块是被作为模块导入的。
若__name__等于__main__的话,说明该模块是主程序。

Python基础之模块相关知识总结

在calc.py中调用TemperatureConversion模块,其结果

Python基础之模块相关知识总结

四、搜索路径

搜索路径(系统会首先搜索的路径)

>>> import sys
>>> sys.path
['D:\\python3.3.2\\小甲鱼python\\python程序\\第五十节课\\Temperature', 
'D:\\python3.3.2\\Lib\\idlelib', 'C:\\windows\\system32\\python33.zip', 
'D:\\python3.3.2\\DLLs', 'D:\\python3.3.2\\lib', 'D:\\python3.3.2', 
'D:\\python3.3.2\\lib\\site-packages']

推荐放到:D:\\python3.3.2\\lib\\site-packages

添加搜索路径:

>>> import TemperatureConversion
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import TemperatureConversion
ImportError: No module named 'TemperatureConversion'

>>> import sys
>>> sys.path.append("D:\\python3.3.2\WODE\Temperature")
>>> sys.path
['', 'D:\\python3.3.2\\Lib\\idlelib', 'C:\\windows\\system32\\python33.zip', 
'D:\\python3.3.2\\DLLs', 'D:\\python3.3.2\\lib', 'D:\\python3.3.2', 
'D:\\python3.3.2\\lib\\site-packages', 'D:\\python3.3.2\\WODE\\Temperature']
>>> import TemperatureConversion
>>> TemperatureConversion.f2c(59)
15.0

(package)

(1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
(2)在文件夹中创建一个__init__.py的模块文件,内容可以为空;
(3)将相关的模块放入文件夹中

eg:制作包并导入包

Python基础之模块相关知识总结
Python基础之模块相关知识总结
Python基础之模块相关知识总结
Python基础之模块相关知识总结

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。