@python调用自己写的函数文件(入门)

python调用自己写的函数文件(入门)

入手Python一个月了才发现写程序还是一个程序写完所有的功能,想要写几个函数包,在每个程序里都可以调用这些程序。

我的函数

  1. 编写函数包
    先做了个简单的快速傅里叶变换函数:
# 导入需要用到的库文件
import numpy as np
from scipy.fft import fft

# FFT函数
def my_fft(x,t):
    fft_x = fft(x)                                           #  fft计算
    amp_x = 2*abs(fft_x)/len(x)                              # 纵坐标变换
    label_x = np.linspace(0,int(len(x)/2)-1,int(len(x)/2))   # 生成频率坐标
    amp = amp_x[0:int(len(x)/2)]                             # 选取前半段计算结果即可
    # amp[0] = 0
    fs =1/( t[2]-t[1])                                       # 计算采样频率
    fre = label_x/len(x)*fs                                  # 频率坐标变换
    pha = np.unwrap(np.angle(fft_x))                         # 计算相位角并去除2pi跃变
    return amp,fre,pha                                       # 返回幅度和频率


#  其他函数1

#  其他函数2

  1. 存成.py格式放到你想放到的文件夹中
    然后把这个文件命名为my_function.py放到路径‘E:\python\pythonProject’里面去。
    在这里插入图片描述

  2. 调用我的函数

需要用到sys函数库。。

import sys
import numpy as np
import matplotlib.pyplot as plt


sys.path.append(r'E:\python\pythonProject')      # 添加函数文件位置
import my_function                               # 导入函数文件

t = np.linspace(0,2*np.pi,1000)                  # 时间坐标函数
s = np.sin(5*2*np.pi*t)                          # 正弦函数
plt.figure()                                     # 绘图
plt.plot(t,s)

amp,fre,pha = my_function.my_fft(s, t)           # 调用my_function文件里一个名为my_fft的函数
plt.figure()                                     # 绘图
plt.plot(fre,amp)

plt.show()                                       # 显示绘图

处理结果展示

首先是生成的正弦曲线

在这里插入图片描述
然后是调用函数处理得到的结果
在这里插入图片描述
跟我设置的5Hz的正弦曲线的幅值和频率完全一致!

调用成功

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐