Day10-总结

2019-06-15  本文已影响0人  SheeranED

一.函数的返回值

1.什么是返回值

2.return

3.函数的调用的过程

通过return返回数据

def test_sum(x, y):
    return x + y
test_sum(10, 20)
sum1 = test_sum(10, 20)
# 多个返回值
def test_sum(x, y):
    return x + y, (x + y)/2
sum2, avg = test_sum(10, 30)
print(sum2, avg)

二.匿名函数

1.匿名函数

sum1 = lambda num1, num2: num1 + num2
print(sum1(10, 20))

补充:python中的三目运算符

& C语言: 条件语句?值1:值2 - 如果条件语句的结果是True,整个表达式的结果是值1否则是值2
python: 值1 if 条件语句 else 值2 - 如果条件语句的结果是True,整个表达式的结果是值1否则是值2

# 写一个匿名函数,
max1 = lambda x, y: x if x > y else y
print(max1(4, 5))

三.变量的作用域

1.什么是作用域

2.全局变量和局部变量

for x in range(4):
    print(x)
print(x)
def func1(aa):
    print(aa)
func1(33)

3.global和nonlocal

n1 = 100
def func2():
    global n1
    n1 = 200
    print(n1)
    global n2
    n2 = 300
func2()
print(n1)
print(n2)
def func3():
    m = 10
    def func33():
        nonlocal m
        m = 20
        print(m)
    func33()
    print(m)
func3()

四.递归函数

1.什么是递归函数:在函数中调用函数本身,这样的函数就是递归函数

用递归实现1+2+3+4+...+n

def  sum1(n):
    # 1)找临界值
    if n == 1:
        return 1
    # 2) 找关系
    return sum1(n-1)+n
print(sum1(100))
# 用递归实现
def pr(n):
    if n == 1:
        print('*')
        return
    pr(n-1)
    print(n*'*')
pr(5)
# 用递归求斐波那契
def fei(n):
    if n == 1 or n == 2:
        return 1
    return fei(n-1) + fei(n-2)
print(fei(6))
上一篇下一篇

猜你喜欢

热点阅读