赞
踩
也是前两天遇到的问题,一般来说遇到这样的问题是像我似的,把代码都写到一个文件里,后来做别的东西跟它衔接的时候发现需要用里面的函数,但是又觉得从这个文件拷贝函数到那个文件太low了...而且不利于维护和修改,所以就上网查了查
这个跟调用python库不一样,python库时直接安装在python环境中,并且支持直接import引入,现在的情况是这个样子:
我有mainfile和fucfile两个文件,这两个文件在一个目录下(在不在都可以,这里是为了演示方便),我想要在mainfile中调用Mathadd的函数功能
这里我们分三种情况:
- # mainfile.py
-
- import Mathadd
- print(Mathadd.add(3,4))
-
-
-
- #Mathadd.py
-
- def add(x, y):
- return (x+ y)
输出
F:\PROGRAMME\python\python.exe F:/SOFTWARE/编程软件/python/projet/test/mainfile.py
7
这个引入方法跟我们调用库类似,但是默认情况下库可以引用是因为他们的路径再python的环境路径中,import时候编辑器就是从路径中查找库并引入,这个原理就类似
就是我们的系统环境变量一样,引入路径之后,cmd直接调用程序时候,就会按照这个路径列表查找是否有该文件名并打开。
python的库也是一样,所以只要我们将Mathfild.py的绝对路径加入python路径变量中,他就可以找到对应的文件并调用
测试一下:
mainfile
-
- import sys
-
- # 这里的不一定非要在一个文件夹下,只要填写绝对路径就可以
- sys.path.append(r'F:\SOFTWARE\编程软件\python\projet\test')
- '''该sys.path列表维护的就是环境路径集合。。
- 使用py文件前先将其路径加入集合,然后就可以像库一样调用'''
- import Mathadd
-
- print(Mathadd.add(3, 4))
-
Mathadd.py
- def add(a, b):
- return a + b
输出:
F:\PROGRAMME\python\python.exe F:/SOFTWARE/编程软件/python/projet/test/mainfile.py
7
这里仅仅演示同一个文件夹下的
首先在mainfile里引入类
- from Mathadd import Mathadd
- math = Mathadd(3, 4)
- print(math.add())
在Mathadd里定义好类和方法
- # 用于支持两个数字运算,初始化时输入数字
- class Mathadd:
- def __init__(self, x, y):
- self.x = x
- self.y = y
-
- def add(self):
- return self.x+self.y
-
- def sub(self):
- return self.x-self.y
同样的道理,直接调用
输出:
F:\PROGRAMME\python\python.exe F:/SOFTWARE/编程软件/python/projet/test/mainfile.py
7
这个也不难,但是确实挺实用的。O(∩_∩)O哈哈~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。