一、什么是模块
- 容器 -> 数据的封装
- 函数 -> 语句的封装
- 类 -> 方法和属性的封装
- 模块 -> 模块就是程序,模块就是.py文件
- 导入hello模块,且使用hello命名空间的hi()函数
(1)hello.py模块的创建
注意模块与调用的程序要在同一个文件夹下面
import的时候直接写名字就行了,不用加上.py,eg:hello.py,hello就是模块名
(2)执行
- 命名空间
在Python中,每个模块都会维护一个独立的命名空间,我们应该将模块名加上,才能够正常使用模块中的函数。
二、导入模块
- (1)import导入模块
TemperatureConversion模块
- (2)from 模块名 import 函数名(不推荐使用)
会导入整个命名空间
- (3)import 模块名 as 新名字(推荐使用)
三、name=‘main"
- 文件架构
- TemperatureConversion.py文件
将测试代码写在了TemperatureConversion.py文件中
在calc.py中调用TemperatureConversion模块,这种方式会导致将python中的测试代码也打印出来了
- 为了解决上面的问题,需要让python知道:该模块是作为程序运行,还是导入到其他程序中,所以使用了__name__变量。
在主程序中使用__name__变量,得到的是__main__变量。
tc.__name__得到的是模块的名字。
所以修改TemperatureConversion.py文件。
若__name__等于模块名的话,说明该模块是被作为模块导入的。
若__name__等于__main__的话,说明该模块是主程序。
在calc.py中调用TemperatureConversion模块,其结果
四、搜索路径
- 搜索路径(系统会首先搜索的路径)
>>> import sys >>> sys.path ["D:python3.3.2小甲鱼pythonpython程序第五十节课Temperature", "D:python3.3.2Libidlelib", "C:windowssystem32python33.zip", "D:python3.3.2DLLs", "D:python3.3.2lib", "D:python3.3.2", "D:python3.3.2libsite-packages"] 推荐放到:D:python3.3.2libsite-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.2WODETemperature") >>> sys.path ["", "D:python3.3.2Libidlelib", "C:windowssystem32python33.zip", "D:python3.3.2DLLs", "D:python3.3.2lib", "D:python3.3.2", "D:python3.3.2libsite-packages", "D:python3.3.2WODETemperature"] >>> import TemperatureConversion >>> TemperatureConversion.f2c(59) 15.0
- (package)
(1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
(2)在文件夹中创建一个__init__.py的模块文件,内容可以为空;
(3)将相关的模块放入文件夹中
- eg:制作包并导入包
到此这篇关于Python基础之模块相关知识总结的文章就介绍到这了,更多相关Python模块内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/u011436427/article/details/117265726