python学习记录6——调用自己写的函数

在使用python编程时,有时我们需要自行编写一些函数程序文件,并在其他.py文件中调用,这时应该怎么做呢?本文记录下调用方法。

情形一:函数文件与调用文件在同一个目录下

在编写某课程大作业时,需要用蚁群算法(ACO,Ant Colony Optimization)解决旅行商问题(TSP,Travelling salesman problem),在编写了ACO算法后,发现程序文件太长,将调用函数也写入相同的文件显得太不直观,可读性很差,遂将这两部分分入两个程序文件,文件结构如下图:
Alt
图中ACO_TSP.py实现了算法部分,main.py实现了函数调用部分,算法部分函数定义如下:

import ... #此处是调用一些必要的库

def ACO_process(calculate_SN):
	#具体细节略

main.py中的调用部分如下:

from ACO_TSP import ACO_process #调用ACO算法函数,理解为从ACO_TSP文件中调用ACO_process函数

ACO_process(i) #函数使用方式

以上,即可实现对自己写好的函数进行调用了。

情形二:函数文件和调用文件不在一个文件夹下

在编写PID实现小车轨迹规划的程序时,写了很多个功能函数,为了使文件夹结构显得简洁清爽,将所有功能函数存在同一个文件夹——func文件夹下,只留一个main函数在外面,运行时简单易懂,运行这个Main.py就可以啦,但是用上面的函数调用方式就会报错,首先看看文件结构:
在这里插入图片描述
Classes.py、plot.py等功能函数都在func文件夹中,不在主函数所在的路径下,所以直接调用会报错:
在这里插入图片描述
这是因为在该路径下找不到这些文件,程序认为这些模块是缺失的,因此,此问题的解决方式为在Main.py函数中加入以下代码:

import sys

sys.path.append('func')

把功能程序存放的路径作为搜索路径添加进来就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值