一、使用分类
目前我了解到的为以下几类:
1.1 导入.py文件
1.1.1 import 文件名
# import 文件名
import test
'''test 是.py文件名
当我们在进行import test时,是通过test这个名字创建了一个module,再将这个module保存到这个test变量里
这里的test具有两个责任
若想将test的两个责任分开,则可以使用 import 文件名 as 变量
'''
#调用方式
test.XX #其中xx是test.py文件中定义的函数或者类
1.1.2 import 文件名 as 变量名
# import 文件名 as 变量名
import test1 as t1
'''import 文件名 as 变量
下面这种方法就将文件名的功能分开了
即通过test1创建module,并且将module赋值给变量t1
'''
#调用方式
t1.XX #其中xx是test1.py文件中定义的函数或者类
1.1.3 from 文件名 import *
from test import *
'''这是将test.py文件中所有的公告变量或者函数或者类都给导入进来
'''
'''使用星号导入可以简化代码,使得可以直接使用模块中的函数和变量名,而不需要使用模块名.函数名或模块名.变量名的形式。'''
from math import *
print(sin(0.5))
命名冲突。
1.2 导入文件夹
关于从文件夹中导入模块,我参考的是python 导入其他目录下的模块这篇文章。
1.2.1 from 文件夹名 import *
from … import *语句是一种导入模块中所有公共名称的快捷方式,也称为星号导入(star import)。例如,下面的语句将导入math模块中所有公共名称:
关于from 文件夹 import *的一些学习小问题总结以下:
程序结构:
--base_dir
|--son_dir
||--__init__.py
from .module import *
||--module.py
def func1()
|--module2.py
从上面程序结构控制,son_dir这个package中的__init__.py文件中,使用start import导入了module.py中的所有函数。
那当我在module2.py中想使用module.py的函数时,我只需要导入son_dir这个package就可以了。
导入son_dir这个package时,系统会自动执行__init__.py文件。
二、相对路径导入
2.1 导入方法
详情可以参考Python中的相对导入和绝对导入
from .文件/文件夹名 import something # 从当前文件所在目录导入
from ..文件/文件夹名 import something # 从当前文件所在的父及目录导入
'''以此类推,多一个.便是往上找以及目录'''
未完待续~~~