0%

导入模块和包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# -*- coding:utf-8 -*-
# @Time :2022/6/18 8:52
# @SOFTWARE :python基础

# 导入模块相当于导入该模块的所有内容,且不会重复导入
# 导入模块,程序优先检索同级目录下的模块


# 1.import 导入的基本使用
# 模块.变量

# 模块.函数()

# 模块.类
# 模块.类().变量 调用类中的变量


# 2.导入任意路径下的任意模块,需要借助sys模块
# 首先看一下sys.path里面有没有想要导入的这个模块路径
# 如果有,默认导入,如果没有,需要手动追加
import sys
print(sys.path)
sys.path.append("模块绝对路径") # 手动追加路径

# 3.from ..import..基本使用
# from 模块 import 具体的某些成员
# 使用时直接使用,不需要 模块.xxx

# from ..import * 导入所有成员

# 设置*号导入的范围
# 在导入的模块中添加 __all__ = [] 列表中添加可导入的模块

# 设置引入成员的别名 as
# from 模块 import 成员 as 成员别名,成员 as 成员别名

# 4.关于__name__使用
# 返回模块名字的魔术属性 __name__
# 如果当前文件时直接运行的,返回“__main__”字符串
# 如果当前文件时间接导入的,返回当前文件名(模块名)

# 魔术属性
# __doc__ 获取文档
# __file__ 获取文件名和路径

# -*- coding:utf-8 -*-
# @Time :2022/6/18 9:27
# @SOFTWARE :python基础


# 文件夹:包
# 文件:模块

# 当引入包时,会自动指定包中的__init__.py的初始化文件,对包进行初始化


# 1.引入包的语法
# import 包名
# 导入包的属性
# 包名.属性名

# 导入包下的某个模块
# 方法一:
# import 包名.模块名

# 方法二: as 起别名
# import 包名.模块名 as xx

# 方法三:把要引入的模块放入__init__.py中
# 常用

# 2.from .. import 引入包的语法
# 引入包的属性
# from .. import 属性

# 引入包的模块
# from .. import 模块

# 引入包的模块的成员
# from 包.模块 import 成员

# 3.单入口模式
# 只通过主文件来调用分模块内容,分模块不单独执行
# 分模块不能单独进行调用,同意由主文件main进行调用
# 模块之间的互相嵌套导入,使用相对路径实现
# 单入口文件必须和包在同意层级,包里面可以含有各种包和模块

# 相对路径
# . 当前路径
# .. 上一级路径
# ... 上一级的上一级
# .... 上一级的上一级的上一级

# from . import 模块名 相对于当前路径引入模块
# from .模块名 import 属性 相对于当前模块引入具体属性
# from .. import 模块名 相对于上一级引入模块
# from ..包名 import 模块 相对于上一级的某个包引入某个属性
# from ..包名.模块 import 属性 相对于上一级某个包下的某个模块引入某属性