模块 - 总结
模块:一个.py文件就是一个模块
好处:1.提高可维护;2.可重用;3.避免函数名,变量名冲突
分类:1.内置模块;2.第三方模块;3.自定义模块; (help('modules')可查看所有得内置和第三方模块)
---------------------------------------------------------------
1.导入模块
  import random / import os
  from os import rmdir,rename
  from djano.core import handlers / from djano.core.handlers import wsgi 
  import multiprocessing as mul  
  from socket import *   #全部存在dir()下 不介意这么做 名字会重名
  模块一旦被导入,即相当于执行了一个.py文件里得代码
  导入模块,寻找路径:1.当前目录;2.系统目录(内置和第三方得模块)(sys.path)\Python36\\lib\\site-packages:
2.第三方模块安装
   https://pypi.python.org/pypi  #python得开源模块库
   2.1.源码安装:
       python setup.py build  
       python setup.py install  
   2.2.联网安装
       pip3 install ***
       pip3 uninstall ***
   2.3.国内镜像豆瓣安装
       pip3 install -i http://pypi.douban.com/simple/*** --trusted-host pypi.douban.com
3.包
   一个文件夹下有多个.py文件,加上__init__空文件,这个文件夹就是一个包了
3.1.跨模块导入    同一目录下面
   from crm import say 
3.2.跨模块得导入  不同目录下面
入口程序得目录加载到sys.path即环境变量中,就可以跨模块调用了
import sys,os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
from proj import hello 
3.3.跨模块导入  相对路径
from . import a
from ..proj import hello
注意:
  python使用. .. 相对导入模块要满足两个条件:
   1.文件夹中必须有__init__.py文件,该文件可以为空,但必须要有
   2.不能作为顶层模块来执行该文件夹中得py文件(即不能作为主函数得入口)
    意思:..后不能到主函数入口得目录下
                
            
        
浙公网安备 33010602011771号