python学习笔记(三)——函数

函数定义
def 函数名(形参 . . . )
	函数体

1. 函数参数

  • 返回值:可以有一个或多个
  • 形参:支持默认形参、关键字形参、可变参数形参等
1.1 必须参数

调用时传入的参数必须与定义时相同。

# a,b 是必须参数或者叫位置参数
def fun(a,b):
	return a,b,a+b

调用:
print(fun(2,3))
输出:
(2, 3, 5)
2.2 默认参数

调用时可以选择使用默认参数或者可选择直接给定参数的值

def fun(a,b=10):
    return a+b
 
调用:   
print(fun(5))
输出:
15
print(fun(5,5))
输出:
10
1.3 关键字参数

使用指定某个关键字的方式定向赋值。

def fun(a=1,b=2,c=3,d=4):
    print(a,b,c,d)

调用:    
fun(d = 4)
输出:
1 2 3 4
1.4 不定长参数 *args

在调用时可以传入若干参数,函数会以元组(tuple)的形式导入形参。

def fun(*args):
    print(type(args),args,args[0])
    
调用:
fun(1,2,3,4)
输出:
<class 'tuple'> (1, 2, 3, 4) 1
1.5 不定长参数 **kwargs

可以接收成对的关键字参数,以字典的方式导入形参。

def fun(**kwargs):
    print(type(kwargs),kwargs)
    
调用:
fun(a=1,b=2)
输出:
<class 'dict'> {'a': 1, 'b': 2}
调用:
fun(x=10,y=20,z=30)
输出:
<class 'dict'> {'x': 10, 'y': 20, 'z': 30}

匿名函数

lambda 形参:表达式

匿名函数一般用于功能比较简单函数中。
lambda x,y:x+y
等价于
def fun(x,y):
 return x+y

匿名函数使用时,可指定一个返回值用于该函数的调用。

f = lambda x,y,:x+y

调用:
print(f(2,3))
输出:
5

递归函数

通过自身调用自身实现一些特殊的计算需求。如,求阶乘

def fun(n):
    if(n == 1):
        return 1
    return n*fun(n-1)
    
调用:
print(fun(5))
输出:
120

在设计递归时一定要注意边界条件的设计。

原创文章 131 获赞 128 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43919932/article/details/104534252