python的模块引用和查找路径

模块的概念

在计算机的程序开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。

为了编写可维护的代码,我们把很多函数分组,分别放在不同的文件里,这样每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式,

在python中一个.py文件就称之为一个模块(module)

使用模块有什么好处???

最大的好处就是大大提高了代码的可维护性;

其次代码编写不必从零开始,当一个模块编写完毕,就可以被其他地方引用,我们在编写程序的时候,也经常引用其他模块,包括python内置的模块和来自第三方的模块;

so,模块一共三种:

  • python标准库
  • 第三方模块
  • 应用程序自定义模块

模块导入方法

1、import语句

  • 执行对应文件
  • 引入变量名

#定义一个模块(模块内只写功能函数)test

# 自定义的函数
def add(x,y):
    return x + y

def sub(a,b):
    return a - b

 #调用test模块

import test  #导入定义好的test模块
print(test.sub(9,1))  #调用模块内部的函数

2、from+模块名+import+函数名 #直接调用模块内的指定函数

from test import *        *代表调用所有(这种方法不推荐,容易和逻辑函数冲突)
from test import add  #直接导入模块内指定的功能函数
print(add(7,5)) #调用

 3、文件路径

import sys
print(sys.path) # 会把执行文件的路径添加到环境变量里,所有import的东西都会在这个路径里去拿,能找到就拿找不到就拉到;

"""
['D:\\Python\\小游戏\\demo', 'D:\\Python\\小游戏\\demo', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']
"""

若执行文件(bin)与模块文件(test)不在同一路径下如何导入模块:

执行文件bin,想要调用test模块内的函数:

 模块test:

执行文件调用多层模块

多层路径用点来连接,执行文件bin调用web2里的cal模块和调用cal模块里的函数;

 

posted @ 2018-11-20 16:29  叫我大表哥  阅读(7805)  评论(0编辑  收藏  举报