1.模块中的__all__
"""
掌握 模块中的 __all__
1. 补充: 导入模块的语法
import 模块名
from 模块名 import 函数名1,函数名2,类名1,类名2...........
# * 代替的是(from 模块名 import 成员名) 中的成员名
from 模块名 import *
2. from 模块名 import * : 一次性导入模块中的所有内容
缺点: 导入的内容太多,不一定都用, 浪费空间
解决: 通过 __all__ = ["类名","函数名","变量"] 限制只能导入列表中的内容
"""
from func import *
hello()
res = remove_blank("我 也 很 耍 帅")
print(res)
2.模块的定位
"""
掌握模块的定位
1. 导入模块的,系统寻找模块(某个路径中查找)
如果找不到,抛出异常 ModuleNotFoundError
2. 模块的查找路径(模块的定位)
(1) 系统规定死的路径
先后顺序:
a. 内置模块路径(python.exe中), 任意地方都能使用
b. 系统标准模块路径(python安装路径/Lib目录中), 任意地方都能使用
c. 主执行文件所在当前目录
d. 第三方包的安装路径(pip install PyMySQL): python安装路径/Lib/site-packages,
任意地方都能使用
(2) 自定义的路径
任意指定一个路径作为包/模块的查找路径
实现方式:
import sys
sys.path # 系统路径, 列表, 可以修改的
sys.path.append("新目录路径")
sys.path.insert(0,"新目录路径")
3. 补充坑爹货(pycharm)
pycharm自动将 项目根目录添加到了 sys.path 中, 原本可能是没有的
"""
import func
import sys
print(sys.path)
import pymysql
sys.path.append("D:\\selfmodule")
import xxx
xxx.hello(