本章难度:★★☆☆☆
适合学习提升
调用其他文件内的自定义函数
Hi Everybody,我又回来了!!!
接上篇文章,我留下了一个问题,之前我们自定义的函数并不能跨文件调用,那应该怎么做才能使在其他脚本文件中调用其他脚本文件的自定义函数呢??
本章要学习的内容掌握调用其他脚本文件的自定义函数
主要介绍跨文件调用函数的方法
调用其他目录下脚本文件的自定义函数
解决不在同一个目录下无法调用问题
0 1调用其他文件内的自定义函数
首先,先介绍一种新的语法,其实我们之前在做随机数的时候就接触到了
对就是“import”
在python中调用其他文件上的自定义函数,有两种方法
第一种:我们可以调用函数所在的文件,然后调用函数
语法如下:
import 文件名(不带后缀)文件名.函数名(参数)
第二种就比较直接,是直接指定调用来自某个文件的某个函数
语法如下:
from 文件名(不带后缀)import 函数名(函数名可用*号代替,用来调用所有的函数)函数名(参数)
是不是有点蒙,没事,我们先来做过实验
为了实验,我们要创建两个文件,一个用于存放定义的函数,一个用来调用函数
#文件1 (C:\a.py) (定义函数的方法可以查看上一期文章)def printinfor():#定义函数 print("自从学了Python,腰不疼了,腿不酸了,一口气上八楼")
#文件2 (C:\b.py)from a import * printinfor()
运行结果:
自从学了Python,腰不疼了,腿不酸了,一口气上八楼
自此,我们就成功实现了调用其他文件内的自定义函数
0 2调用其他目录下脚本文件的自定义函数
相信这时候会有小伙伴在调用其他文件的函数时出现了异常
就像这样:
Traceback (most recent call last): File "D:\编程\python项目\b.py", line 3, in <module> from b import printinforModuleNotFoundError: No module named 'b'
???模块没有命名???
仔细看看,原来是调用的文件与执行的文件不在同一个目录
那这应该怎么办呢??
接下来介绍一种方法,语法如下:
import sys #调用sys函数sys.path.append("文件所在目录") #在函数自带path列表后添加该路径from b import printinfor #正常调用即可
实验例题:
#文件1 (C:\a.py) (定义函数的方法可以查看上一篇文章)def printinfor():#定义函数 print("自从学了Python,腰不疼了,腿不酸了,一口气上八楼")
#文件2(D:\b.py)import sys #调用sys函数sys.path.append("C:\") #指定目录from a import * #来自a的所有函数printinfor()
运行结果:
自从学了Python,腰不疼了,腿不酸了,一口气上八楼
03思考
既然我们已经实现跨文件的函数调用,那能不能把曾经都例题打包成几个模块,统一调用呢??
最后祝大家冬至快乐
天气转凉,注意身体
今天吃(汤圆/饺子)了吗?