一、函数
1. 函数的功能:帮助我们完成某件事情的代码集合
函数的作用:能够优先的提高代码的复用率
2.函数的分类:
①内置函数:str() eval() print() input()
②某种数据类型独有的函数:列表的append()、集合的add()、字典的update()
③库函数:random.randint() 、time.sleep()
④用户自定义函数:利用def关键字创建的函数
⑤匿名函数、递归函数
3.用户自定义函数:
①需要用def关键字,函数名要做到见名知意,函数的小括号中可以填入适当的参数
②函数可以利用return语句将函数的结果进行返回,因此retrurn叫做返回值,一个函数中可以有多个返回值语句,但是只有一个返回值语句能起作用。当然返回值的好处在于可以不用直接将函数的结果进行显示,而是将结果保留在函数本身,哪里需要就把值赋值给谁。
例如:def fei_3():
for i in range(2,3):
if i % 2 == 1:
return "你好"
else:
return "大家好"
result = fei_3()
print(result)
③参数:参数是让函数功能更加丰富的工具,参数按照出现的位置分为:
形式参数(形参):在函数定义时填写在小括号中的变量
实际参数(实参):在函数调用时,填写在小括号中的具体值
形参和实参的个数、顺序、类型必须完全一致
参数的传递顺序:实际参数---->形式参数
④函数的参数类型以及顺序:☆☆☆
a.位置参数(必选参数),一个位置参数只接受一个值
b.可变参数,*args,接收一组数据,这组数据会以元组的形式存储
c.默认参数(缺省参数),已经有了默认值,但是可以被重新赋值
d.关键字参数,**kwargs,类似于键值对形式的数据会用关键字参数存储
4.递归函数:
在函数的函数体中,调用自己,这个函数就是递归函数
【注意点:】1.递归函数必须要有终止条件,不能无限递归
2.递归函数必须要找到每次递归的共同规律才可以
递归函数一定能转换为普通的循环完成,但是普通循环能做的事情,递归函数不一定能做
5.匿名函数:
没有名字的函数,一般用lambda关键字进行定义,但是匿名函数必须要赋值给变量,不然没有结果。而且匿名函数通常用于解决简单的问题。
例如:
def qiuhe(num1,num2):
return num1 + num2
print(qiuhe(2,3))
# 匿名函数/lambda表达式
x = lambda num1,num2:print(num1+num2)
x(2,3)