智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=99ef9b1b81c34b4e0514325e9bd3be54

函数定义
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


在设计递归时一定要注意边界条件的设计。
————————————————
我们的python技术交流群:941108876
智一面的面试题提供python的测试题
http://www.gtalent.cn/exam/interview?token=99ef9b1b81c34b4e0514325e9bd3be54