day8

2018-07-25  本文已影响0人  木偶演员

01

函数名 当作变量使用
def fun1(a):
    print((a))
print(fun1,type(fun1))

a =fun1
# funb = fun1(10) +100
a(100)
将函数 fun1作为列表的元素
functions = [fun1,fun1(10)]
functions[0]("abc")
将函数作为参数
def my_sum(*number):
    sum1 = 0
    for item in number:
        sum1 += item
    return sum1

def my_mul(*number):
    sum1 = 1
    for item in number:
        sum1 *= item
    return sum1


def operation(method, *number):
    return method(number)
三目运算符 x if x>y else y
def get_me (a,*num):
    if a == "+" :
        sum1 = 0
        for item in num:
            sum1 += item
        return sum1
    if a =="*":
        sum1 = 1
        for item in num:
            sum1 *= item
        return sum1
print(get_me("+",10,20))

02

作用域 : 一个变量可以使用的范围,就是这个变量的作用域
全局变量: 从申明开始,到文件结束,都可以使用
局部变量: 在函数中使用

03

04

递归函数 : 在函数本身调用函数
def fun1():
    print("=====")
    fun1

理论上能循环的事情,递归都可以做
2.怎么写一个递归函数
   # a.找到临界值
   # b.找关系: 假设当前函数对应的功能已经实现 找f(n)  和 f(n-1)的关系
   # c.使f(n-1)
递归举例
def my_sum(n):
    if n == 1:
        return 1

用递归求246***n (n)

def per(n):
    print("*"*n)
    if n == 1:
        return "*"
    per(n-1)
per(4)

per 4
def per(n):
    if n == 1:
        print('*')
        return "*"
    per(n-1)
    print("*" * n)
per(4)
print('=====')
"""
per(4)  n=4  per(3) print('*'*4)
per(3)  n=3  per(2) print("*" * 3)
per(2)  n=2  * print("*" * 2)

per(1) n=1  

**
***
****

05

函数的返回值
a.就是函数返回给调用者的值
b.就是return关键字后面的的表达式是我值
c.就是函数调用表达式的值
***函数调用
        a.先回到函数调用的位置
        b.传参
        c.执行函数体
        d.执行函数体 ,
return 关键字
a.将return后面值,返回给函数表达式
b.结束函数
函数的结束
a.函数体执行完
b.遇到return

"""

"""

"""
"""
3.函数调用表达式
python中每个函数表达式都是有值的

上一篇 下一篇

猜你喜欢

热点阅读