创建函数的步骤
python是一种面向将对象的语言,所以与其说是函数更相对于是一种方法
建立的格式为:
def fname(t):
""" 这是一个自制的函数 """ #函数的帮助文档说明
s1 = np.cos(2 * t) #函数内部进行处理
e1 = np.exp(-t)
return s1, e1 #函数的返回值
- 1
- 2
- 3
- 4
- 5
这样一个函数就建立好了,python中如果调用该函数,那么该函数会返回两个值 s1 e1,所以为了避免出错外面也尽量使用两个变量进行承接。
怎样调用该函数
一般python建立的函数都是在一个文档中,这样可以直接用函数名进行调用。
比如:
import matplotlib.pyplot as plt
import numpy as np
def f(t):
""" 这是一个自制的函数 """
s1 = np.cos(2 * t)
e1 = np.exp(-t)
return s1, e1
help(f)
t1 = np.arange(0.0, 5.0, .2)
y1,y2= f(t1)
l = plt.plot(t1,y1,'ro')
l = plt.plot(t1,y2,'yo')
plt.setp(l, markersize=30)
plt.setp(l, markerfacecolor='C0')
plt.show()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
该结果为:
运行的输出结果:
f(t)
这是一个自制的函数
如何像MATLAB语言那样将函数单独存放在一个文件中
这样也是可以的不过,在python中,这个更类似于是创建一个库/或是模块。
所以我们使用一个新的模块文件,命名为mymodel.py
该文件用来建立子函数:
import numpy as np
def f(t):
""" 这是一个自制的函数 """
s1 = np.cos(2 * t)
e1 = np.exp(-t)
return s1, e1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
然后在建立一个脚本test.py用来调用mymodel.py中的函数:
代码如下:
import mymodel as me
import numpy as np
import matplotlib.pyplot as plt
help(me.f)
t1 = np.arange(0.0, 5.0, .2)
y1,y2= me.f(t1)
l = plt.plot(t1,y1,'ro')
l = plt.plot(t1,y2,'yo')
plt.setp(l, markersize=30)
plt.setp(l, markerfacecolor='C0')
plt.show()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
需要注意,这两种的原理以及结果是相同的。
采用调用mymodel.py,需要使用model.f(t),或是使用me.f(t)
总结:
python在当前文件中,建立函数的方法为 def
模板:
def f(t): #定义函数名
""" 这是函数解释文档 """
#添加一些处理语句
return s1 #返回一些变量
- 1
- 2
- 3
- 4
python在其他文件中建立函数的方法:
相当于创建了一个模块
需要使用import 进行调用,调用模块中的函数需要使用model.fname的方法;