什么是函数
在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块 组织为一个小模块,这就是函数
格式
def 函数名(): 执行语句 函数名() #调用函数
位置参数
def 函数名(参数1,参数2): 代码块 函数名(值1,值2)
案例
def fun(a,b): print("a:",a) print("b:",b) fun(2,3)
关键字参数
.def 函数名(参数1,参数2): 代码块 函数名(参数1=值1,参数2=值2)
案例
def fun(a,b): print("a:",a) print("b:",b) fun(a=2,b=3)
缺省参数
在形参中默认有值的参数,称之为缺省参数
def printinfo(name,age=20):
print("name:",name)
print("age:",age)
printinfo(name="jack")
#name: jack
#age: 20
调用函数时,缺省参数的值传入
def printinfo(name,age=20):
print("name:",name)
print("age:",age)
printinfo(name="jack",age=10)
#name: jack
#age: 10
不定长参数
def printinfo(*args,**kwargs):
print("args:",args)
print("kwargs:",kwargs)
printinfo(参数)
不定长参数* args
def printinfo(*args):
print("args:",args)
printinfo(100,200,300,400)
#args: (100, 200, 300, 400)
不定长参数* * kwargs
def printinfo(**kwargs):
print("kwargs:",kwargs)
printinfo(a=100,b=200,c=300,d= 400)
#kwargs: {'a': 100, 'b': 200, 'c': 300, 'd': 400}
参数位置顺序
def fun(位置参数,*args,缺省参数,**kwargs):
代码块
fun(参数值)
def sun(a,*args,b=22,**kwargs):
print("a:",a)
print("args:",args)
print("b:",b)
print("kwargs:",kwargs)
sun(100,200,300,b=2,m=3,n=4)
函数返回值
def sum():
代码块
return 值
sum()
def sum(a,b):
return a+b
sum(1,2)
def sum(a,b):
return a+b result = sum(1,2)
#保存函数的返回值
print(result)
多个return
def create_nums(num):
print("---1---")
if num == 100:
print("---2---")
return num+1
# 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还 有一个隐藏的功能:结束函数 print("return执行之后不会继续执行")
print(“1231223") else:
print("---3---") return num+2
print("---4---") result1 = create_nums(100) print(result1)
# 打印101 result2 = create_nums(200) print(result2)
# 打印202
无参数,无返回值的函数
此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数
无参数,有返回值的函数
def getTemperature():
# 这里是获取温度的一些处理过程
# 为了简单起见,先模拟返回一个数据
return 24
有参数,无返回值的函数
•此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数
有参数,有返回值的函数
此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函 数
# 计算1~num的累积和(案例需实际演示)
def calculateNum(num):
result = 0
i = 1
while i<=num:
result = result + i
i+=1
eturn result
函数的嵌套
一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用