day 17

今日内容

1.导入模块的细节

2.包的概念与使用

3.包中的相对导入语法

跨文件夹导入模块

1.有执行文件为t需要导入a文件下的模块ma 当a文件夹在坏境变量中 a文件夹中的ma模块可以被一下方式导入

import a.ma 或者 from a import ma

2.如果a文件夹所在目录在环境变量,a文件夹中的b文件夹的mb模块可以被以下方式导入
import a.b.mb 或者# 3.如果a文件夹所在目录在环境变量,a文件夹中的b文件夹的mb模块中的bbb名字要被直接

 3.如果a文件夹所在目录在环境变量,a文件夹中的b文件夹的mb模块中的bbb名字要被直接导入

import a.b.mb.bbb  # 错误:所有.左侧必须是文件夹 *****
from a.b import mb.bbb # 错误:所有.左侧必须是文件夹
from a.b.mb import bbb # 正确 from a.b import mb

包指的是一系列模块的集合体 用文件夹来管理一系列有联系功能的模块,该文件夹我们称之为包,文件夹起名为包

包与普通文件夹存在区别 包文件夹中包含一个__init__.py文件 p2中必须创建 p3中建议创建不创建系统自动创建

__init__.py文件其实就是包的全局名称空间 存放模块的名字的 这样包直接可以.出来名字直接使用

在__init__.py文件中操作包中的模块 from 包 import 模块名  或者 from 包.模块名 import 模块名中的对象 这样在执行文件中

直接可以用包.名字  可以直接执行包中的模块 可以取出包里面模块里面的数据  在包中采用相对导入管理模块或者模块中的名字 

 在包的__init__.py文件或是包中任意一个模块中
 . 代表当前文件所在目录
 .. 代表当前文件所在目录的上一级目录
 注:.语法不能出包,因为包外的文件都能自执行,但拥有.开头导入的文件不能自执行


原文地址:https://www.cnblogs.com/huikejie/p/10821743.html