2018-08-30 day9-函数2

2018-08-30  本文已影响0人  rzlong

匿名函数

匿名函数的本质还是函数,函数的所有性质都适用(关键字参数和默认值参数)

lambda:用于声明匿名函数关键字
参数列表:参数1,参数2...
返回值:表达式(return 语句)
my_sum = lambda *x:sum(x)
print(my_sum(1,2,3,4,5))

result:
(15, 3.0)
return (返回值1,返回值2...) #多个返回值以元组的形式返回
func3 = lambda list2:(sum(list2),sum(list2)/len(list2))
print(func3([1,2,3,4,5]))

result:
(15, 3.0)

变量的作用域

函数的调用过程就是一个压栈的过程
作用域

一个变量能够使用的范围

全局变量和局部变量
global和nonlocal
global 变量名
变量名 = 值
nonlocal变量名
变量名 = 值
num1 = 100
num2 =10
def func2():
    num1 = 200
    global num2
    num2 += 100
    print(num1)
    print(num2)
func2()
print(num1)
print(num2)

result:
200
110
100
110

递归函数

#斐波那契数列
def fibonacci(n):
    if n == 1 or n == 2:
        return 1
    elif n > 2:
        return fibonacci(n-1)+fibonacci(n-2)
    else:
        return False
print(fibonacci(7))

result:
13

模块和包的使用

a. import 模块 -- 导入全部内容,通过模块.内容使用

b. from 模块 import 模块中内容 -- 导入特定的内容,可直接使用内容

c. from 模块 import * -- 导入模块中全部内容
每个模块都有一个__name__属性,该属性的值默认就是当前模块的文件名
但是在当前模块被执行的时候,__name__属性的值就为__main__
上一篇 下一篇

猜你喜欢

热点阅读