Python自定义函数
自定义函数的语法格式
def <函数名>( <参数列表> ):
<函数体>
return <返回值列表>
函数代码块以def
关键词开头,后接函数标识符名称和圆括号\(()
\)。参数必须放在圆括号中间,参数可以是\(0\)个、\(1\)个或多个,若为多个参数时用逗号分隔,函数定义中的参数列表中的参数为形式参数。
用return
返回计算值,不需要返回值时,return
可省略。一个函数中只能用一次return
语句(如果条件语句本质上也还是一个返回值),如果希望返回多个值,可以以列表或者元组等数据结构表达的方式返回。
(零个或一个return
)
自定义函数的参数传递
所谓的参数传递就是主程序调用函数时,主程序调用函数的实际参数会把值或者引用传导到自定义函数的形式参数中去,计算机会驱动自定义函数开始执行把实际参数传到形式参数内容的程序代码。如果主程序没有调用函数,自定义函数中的程序代码不会无缘无故执行,即函数只有被调用才被执行。
lambda函数
对于复杂函数的定义,可以采用def函数定义语句,对于简单的函数定义可以采用lambda定义语句,其语法格式如下:
Lambda 参数:表达式
例题:某药品口服后,1小时测定,与血液中浓度的关系是线性关系,其方程为y=0.8x+3.25,x表示口服剂量(单位:片),y表示血液浓度(单位:ml)。两患者分别摄入了3片和2片,请分别计算血液中浓度。
linearRegression=lambda x:0.8*x+3.25
dosageOne=3
dosageTwo=2
concentrationOne=linearRegression(dosageOne)
concentrationTwo=linearRegression(dosageTwo)
print("患者服用剂量为:",dosageOne,",一小时候血液中浓度为:",concentrationOne)
print("患者服用剂量为:",dosageTwo,",一小时候血液中浓度为:",concentrationTwo)
(将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数,使这个变量指向了lambda函数)
模块
当程序比较大时,代码越来越长,不便于代码的维护,所以Python语言提供一种以.py结尾的文件,在该文件的脚本中定义函数、类、变量等,通常这些函数、类、变量等是按照一定的逻辑组织或者按照类别、功能需求等方式组织,使得模块中的代码或函数可以被反复导入调用,使用效率大大提高。
这样形式上可以简化主程序,主程序看上去干净易懂,同时这些函数可以被共享出来,可以被不同的主程序导入调用或者被另外的模块导入调用,提高了代码重用率。
模块的导入调用语法格式可以采用如下几种方式:
导入:import 模块名
调用:模块名.函数名
导入:import 模块名 as 模块别名
调用:模块别名.函数名
导入:from 模块名 import <函数名1,函数名2,...,函数名n>
这样只把需要的函数,有选择性的导入。
调用:函数名i
导入:from 模块名 import *
其中,*是通配符,表示把所有函数导入(可以输入单独几个函数的名字,如果输入星号,表示导入库里所有的函数)
调用:函数名