版权声明:@jj--(Google E-mail t281138580) https://blog.csdn.net/qq_35323561/article/details/88112283
Python学习笔记2 函数篇
def
Python中函数关键字为def
语法规则如下:
def sayhi():#函数名
print("Hello, I'm nobody!")
sayhi() #调用函数
参数
形参与实参
形参
只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量
实参
可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值
def add(num1,num2) #num1、num2为形参
return num1+num2
a=1
b=2
print(add(a,b)) ##a、b为实参
默认参数
设置形参的时候可以赋值默认值,在使用此函数时,若设置了默认值的参数不传入参则使用默认值。
def add(a,b=1):
return a+b
print(add(1))
输出结果:
2
关键参数
正常情况下,给函数传参数要按顺序,如果不想按顺序,只需指定参数名即可。
def add(a,b):
return a*a+b*b
print(add(b=2,a=0))
输出结果:
4
非固定参数
若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数
def add(a,*b): # *b 会把多传入的参数变成一个元组形式
print(b)
for num in b:
a=a+num
return a
print(add(1,2,3))
输出结果:
(2,3)
6
还有一种方式在参数前加**,把传入的参数变成一个dict形式。
def add(a,**b):
print(b)
add(1,num="1")
输出结果:
{'num': '1'}
高阶函数
def add(x, y):
return x+y
def add(x,y,f):
return x-y+f(x,y)
def sub(x, y):
return x-y
res = add(3,2,sub)
print(res)
输出结果:
2