目录
python模块(Module),是一个python文件,以.py结尾。模块能定义函数、类和变量,模块里也能包含可执行的代码。
1.作用
模块就是一个Python文件,里面有类、函数、变量等,我们可以拿过来用(导入模块去使用)
2.导入
模块在使用前需要先导入
import 语句和 from...import 语句的区别:import 导入的是模块;from...import 导入的是模块中的一个函数或一个类
常用的组合方式:
- import 模块名 # 导入一个模块
- from 模块名 import 类 # 从模块中导入某个类
- from 模块名 import * # 导入模块中所有的函数和类
- import 模块名 as 别名 # 导入模块并使用新名字
- from 模块名 import 功能名 as 别名 # 导入模块里的某个函数并使用新名字
3.python文件的引用问题
(1)导入模块
1)from 模块名 import 类的例子
from PStope_Class.WorKFace.TYl_BeamUnit import TYl_Beam
这是导入模块中的一个类,在PStope_Class文件里的WorKFace文件的TYl_BeamUnit文件里面引用TYl_Beam类
2)from 模块名 import * 的例子
from .TYl_BeamUnit import *
这种方法是导入了TYl_BeamUnit类里面的所有公有的类、函数和变量
3)import 模块名的例子
import math
x = math.sqrt(25) # 计算平方根
这种方式是导入python内置的math模块,然后就可以使用math模块中的函数了
4)import 模块名 as 别名的例子
import stope_unit as gong
print(gong.TBase_Stope)
这种方式是导入stope_unit模块并重命名为gong,然后就可以调用该模块内的类
5)from 模块名 import 功能名 as 别名的例子
from stope_unit import TBase_Stope as gzm
obj = gzm()
print(obj.fun_base_gzm_help())
这种方式是导入一个模块中的一个类并重命名为gzm,然后通过类的实例化来实现调用类中函数的功能
导入类之后,就可以实例化继而调用类里面的函数和变量
(2)引用时的路径问题
绝对导入和相对导入
假设项目的目录结构如下图所示:
![image-20230804160820317](/i/l/?n=23&i=blog/3236884/202308/3236884-20230806123821702-608907589.png)
绝对导入
绝对路径要求我们必须从最顶层的文件夹开始,为每个包或每个模块提供出完整详细的导入路径。
from package1 import mudule1
from package1.module2 import Fx
from package2 import Cx
from package2.subpackage.module5 import Fy
相对导入
相对路径是相对于当前工作目录或当前脚本所在目录的路径
//在package2/module3.py中引用module4模块
from .import module4
//在package2/module3.py文件中导入function Fy
from .subpackage1.module5 import Fy
//在module4文件中导入function Fx
from ..package1.module2 import Fx
代码中.表示可以导入当前文件所在的同级目录下的文件
如果是..就表示该目录的上一级目录
标签:TYl,文件,函数,Python,导入,模块,import From: https://www.cnblogs.com/yanni123/p/17609308.html