【1.56】模块基本

函数

模块

就是把具有需要重复使用的功能   抽离出来  避免重复代码

 

模块简单一点就是一个 py 文件

让不同功能 不同代码 放在不同的模块里面

提供可维护性的代码  便于后面维护使用

 

引用 就是   import 导入

1导入 就会执行 被导入的文件

2引入需要的变量

变量 从自己找到全局 然后找sys 路径

 

模块就三种

python 标准库  导入他自己的库文件  如 time模块

第三方的模块   如myaql     就要用 pip install 安装

应用程序自定义的模块  作者自己写的

 

自己在写模块  也就是定义py文件名字 满足 变量定义  不要和内置函数名字一样

函数名切记和自己定义的变量名字一样

模块名也不要和自己定义的函数  定义的变量名一样

但是不同模块中,或者不同的包中的 函数名 或者变量名 可以一样

 

import  time

form 文件 import 变量或者文件

文件结构:

modulefile

----modulepacket

  ----__init.py__

  ----cal.py

  ----main.py

----bin.by

 

 

#cal.py
#一般文件 或者功能文件就定义功能文件名字
#主要逻辑文件 放在 main文件

#但是程序的入口文件 就要放在 包文件外的bin文件


def add(*args):
    res = sum((*args))
    return res

 

#main.by
#导入文件 最好用绝对路径
#但是在同一个路径 可以直接导入文件名字
#但是为了以后bin文件能用  我们就要导入绝对路径  

import cal from cal import * from # 一般不这样用 from cal import add print (cal.add((1,2,3,4)))

 

bin.by

from modulepacket import cal
#要这样调用  注意路径
print (cal.add((1,2,3,4)))

#因为import 是按照自己路径往上面找
import sys
print (sys.path)
#['D:\\untitled\\modulepacket\\modelfile',
# 'D:\\untitled\\modulepacket',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32\\lib',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\win32',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\win32\\lib',
# 'C:\\Users\\xiaobei\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\Pythonwin',
# 'C:\\Program Files\\JetBrains\\PyCharm 2018.3.2\\helpers\\pycharm_matplotlib_backend']

 

posted @ 2016-04-16 22:19  科学小怪癖  阅读(95)  评论(0)    收藏  举报