1. 一个python文件就是一个模块
模块导入
1. 模块查找顺序:
(1)首先从当前目录下找
(2)从python的环境变量目录里面找
2. 查看python环境变量目录
import sys
print(sys.path)
执行结果:
3. 导入模块是非python环境变量下的文件,导入方式:
(1) 把该文件的路径加入python环境变量list中(python文件的环境变量是一个list),每次使用都需要再次加入,并不是加一次就永久在这个文件夹下
例如:想把check_float这个 python文件导入某个python文件中,
import sys
sys.path.insert(0,r'/Users/nhy/PycharmProjects/tmz-code/day4')
import check_float
(2) 或者在目录文件夹进行设置,右键文件夹,如图:
4. 调用模块中的某个函数,调用方法:
- 模块名.函数名
import my_model
my_model.my_func()
- **form 模块名 import 函数名 **,调用函数时,直接 函数名(),即可调用
from my_model import name, my_func
my_func()
- 给某模块的函数起别名:form 模块名 import 旧函数名 as新函数名
from my_model import name as nhy_name, my_func as my_func2
my_func2()
- 如果在模块A中,我们有部分的代码不想在被导入到B时直接被运行,但在直接运行A时可直接运行,那该怎么做呢?那就可以用到“if name==’main:”这行代码了
执行A模块
# 模块A
def execute_sql(sql):
print('执行sql',sql)
execute_sql('select')
execute_sql('update')
execute_sql('insert')
execute_sql('sdfsd sdfsg')
输出结果:
执行sql select
执行sql update
执行sql insert
执行sql sdfsd sdfsg
运行B模块时输出结果:
# B模块
import a
a.execute_sql('select a')
输出结果:
执行sql select
执行sql update
执行sql insert
执行sql sdfsd sdfsg
修改后的A代码
def execute_sql(sql):
print('执行sql',sql)
if __name__ == '__main__':
execute_sql('select')
execute_sql('update')
execute_sql('insert')
execute_sql('sdfsd sdfsg')
B模块的执行结果:
import a
a.execute_sql('select a')
输出结果:
执行sql select a