首页 > 代码库 > day21、模块
day21、模块
模块:
模块,用一砣代码实现了某个功能的代码集合。不同功能,放置在不同模块中,模块就是一个.py文件。避免函数重复写代码。对于相同功能的代码。只需要调用该模块或者该模块里面的函数就可以。增加灵活性,和维护性。事先定义好,其他模块可以来调用该函数。
所以,模块一共三种:
- python标准库(内置模块):time模块(time.py文件)import time time.sleep()
- 第三方模块 无法直接调用到,不过可以自己安装外部资源库。可以通过pap命令安装到python内部。
- 应用程序自定义模块
import:输入; 进口,导入; 重要性; 意义;
简单例子
导入模块:import cal.
cal文件
#/usr/bin/env python # -*- coding: utf-8 -*- #保存函数相关的函数 print(‘ok1‘) def add(x,y): return x+y def sub(x,y): return x-y print(‘ok2‘)
import之后,发现会先执行一遍要导入的模块。所以在模块里面:只写功能函数,避免写逻辑函数!
ok1
ok2
import的作用:
1、执行调用模块文件
2、引入变量名(cal)所以:cal.add(2,3)就可以执行cal模块里面的函数。
调用调用多个模块:import cal,time 两者并列执行。
【***.函数→cal.add(2,3)】简写:
from cal import add 也会执行cal里面的所有代码。然后在找到对应的add函数名。
from cal import add
from cal import * 导入cal模块中的所有函数。避免如此用,过多的导入函数,可能会和当前逻辑中的函数重名,导致只能生效后者。
二、路径
会把执行文件的路径添加到:sys.path里面。查找模块会到这里面来查找。
所以调用模块时:
如:import cal :这里里面的cal必须和当前调用的执行文件包含这一路径。后者无法找到:cal文件模块。
所有的import都会从执行文件的目录去找,能找到就执行,不能找到就报错。对于不在该目录下,又要被调用的模块可以通过from来解决
from my_modle(和执行文件同级)import cal 这样就可以导入cal里面的函数变量
解决办法:加载路径;
跨文件调用:
day21、模块