模块:
 1. 定义:本质就是.py结尾的python文件
     从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能)。
     文件名:test.py对应的模块名就是test
    
    
 2. 导入方法:
  import module_name
  import modele_name1, module_name2
  from module_name import *    不建议这么用
  from module_name import m1 as login
  from module_name import m1 m2 m3  导入多个
 
 3. 导入模块的本质:
  将模块解释了一次后封装赋值给一个变量。
  
  
 4. 包:本质就是一个文件夹(一个目录),但必须带一个__init__.py文件
   用来从逻辑上组织模块的
   
   导入包就是解释其下的__init__.py
   
 5. import 模块时,顺序是: 当前路径 => sys.path
 
  import sys, os
  
  print(sys.path)
  print(__file__)
  print(os.path.abspath(__file__))
  print(os.path.dirname(os.path.abspath(__file__)))
  
  输出: 
  ['D:\\Python3\\python_project\\Project_1\\Day-06-21', 'D:\\Python3\\python_project\\Project_1', 'D:\\Python3\\python_project\\Project_1\\venv\\Scripts\\python36.zip', 'C:\\Users\\brace.li\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 'C:\\Users\\brace.li\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', 'C:\\Users\\brace.li\\AppData\\Local\\Programs\\Python\\Python36-32', 'D:\\Python3\\python_project\\Project_1\\venv', 'D:\\Python3\\python_project\\Project_1\\venv\\lib\\site-packages', 'D:\\Python3\\python_project\\Project_1\\venv\\lib\\site-packages\\setuptools-39.0.1-py3.6.egg', 'D:\\Python3\\python_project\\Project_1\\venv\\lib\\site-packages\\pip-9.0.3-py3.6.egg', 'C:\\Program Files\\JetBrains\\PyCharm 2018.1.3\\helpers\\pycharm_matplotlib_backend']
  D:/Python3/python_project/Project_1/Day-06-21/main.py
  D:\Python3\python_project\Project_1\Day-06-21\main.py
  D:\Python3\python_project\Project_1\Day-06-21

 6. 导入包就只是允许了__init__.py(from . import sayhi)  .表示是init的相对路径
  所以要调用包里面的模块,是找不到的。
  
  要想直接导入包,就能只能调用其下的模块,就必须在__init__.py中import所有模块
  
 7. 模块的分类:
  1. 标准库:python自带的;
  2. 开源模块:实现谋一个功能,放在getHUB里面;
  3. 自定义模块
posted on 2018-06-25 21:16  仙寓游子  阅读(216)  评论(0编辑  收藏  举报