首页 > 代码库 > 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、模块