目录
一、函数基础
01、函数的定义
02、函数的调用
03、函数说明文档
二、函数参数
01、缺省参数
02、不定长参数
03、引用传参
三、匿名函数
01、定义
02、用法
03、示例
?四、递归函数
1、定义
2、示例
2.1、计算阶乘
2.2、文件查询
?
一、函数基础
01、函数的定义
def 函数名(): ?? ?函数体[一系列的python语句,表示独立的功能]
02、函数的调用
? ? ? ? 本质上就是去执行函数定义里面的代码块,在调用函数之前,必须先定义
03、函数说明文档
? ? ? ? 函数内容的第一行可以用字符串进行函数说明?
二、函数参数
01、缺省参数
? ? ? ? 缺省参数,在调用函数时如果没有传参数, 那么会使用定义函数时给的缺省值。 缺省参数必须在参数列表的最后面,否则会报错。
02、不定长参数
? ? ? ? 一个函数有时候会处理比当初声明的参数要多,这就是不定长参数,定义函数时不用声明参数名。
加了星号(*)的变量args会存放所有未命名的变量参数,args为元组;
而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典。
03、引用传参
? ? ? ? Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。
三、匿名函数
01、定义
? ? ? ? python中使用lambda关键字创建匿名函数,所谓匿名即这个函数没有名字不用def关键字创建标准的函数。
02、用法
? ? ? ? lambda 参数1,参数2,参数3: 执行代码语句?
03、示例
#通过变量调用匿名函数
rs=lambda x,y:x+y
print(rs(1,3))
#-------直接调用----------
rs=(lambda x,y:x+y)(1,3)
print(rs)
?四、递归函数
1、定义
? ? ? 如果一个函数在内部不调用其它的函数,而是调用本身的话,这个函数就是递归函数。递归函数必须有一个结束条件,否则递归无法结束会一直递归下去,只到到达最大递归深度报错。
2、示例
2.1、计算阶乘
def factorial(n):
#结束条件
if n==1:
return 1
#调用自身
else:
return n*factorial(n-1)
print(factorial(5))
2.2、文件查询
import os#引入文件操作模块
def findFile(file_Path):
listRs=os.listdir(file_Path)#该路径下所有文件夹
for fileItem in listRs:
full_path=os.path.join(file_Path,fileItem)#获取完整的文件路径
if os.path.isdir(full_path):#判断是否文件夹
findFile(full_path)#文件夹则再次递归
else:
print(fileItem)#否则输出文件路径
pass
pass
pass
findFile('D:\\Content')
|