函数的定义
函数是一段具有特定功能的、可重用的语句块。
函数是一种功能的抽象,一般函数表达特定的功能。
作用:提高代码复用、降低编程难度。
def <函数名>(<0个或多个参数>,*b): #*b表示为可变参数,即不确定函数参数的总数
<函数体>
return <返回值>
函数的调用
调用是运行函数代码的方式
参数传递的两种方式:位置传递和名称传递
def fact(n,m=1):
s = 1for i in range(1,n+1):
s *= i
return s//m,n,m
fact(5,10) #位置传递:根据参数的顺序传递参数
fact(m=10,n=5) #名称传递:根据参数名称来传递
返回值:函数可以有0个或多个返回值,当有多个返回值时,返回值的类型为元组 -->(s//m,n,m)
匿名函数
lambda函数:是一种匿名函数,即没有名字的函数,‘:’前面为参数后面是表达式,lambda函数返回表达式的值作为结果
-用于定义简单的、能在一行内表示的函数
#<函数名> = lambda <参数>:<表达式>
f = lambda x,y:x+yf(3,5)
#输出:8
f = lambda : 'hello'
print(f())
#输出:'hello'
变量
变量分为局部变量和全局变量。
局部变量:定义在函数内部的变量。
全局变量:定义在函数外部的变量。
- 局部变量是函数内部的占位符,可能与全局变量重名,但是他们是不同的变量
- 函数运算结束后局部变量被释放
- 可以使用global保留字在函数内定义全局变量
- 当局部变量为组合数据类型且未创建,等同于全局变量
ls = ['a','b']
def fun(a):
ls.append(a) #ls为局部变量,未创建则视为全局变量
return
fun('c')
print(ls) #输出ls:['a','b','c']
ls = ['a','b']
def fun(a):
ls = []
ls.append(a) -->ls为局部变量,已创建
return
fun('c')
print(ls) #输出ls:['a','b']