zoukankan      html  css  js  c++  java
  • 递归函数,修改全局变量,高阶函数

    一个函数调用自己本身,就是递归调用

        递归调用的三个条件

              1.必须有结束条件

              2.规模必须每次减少

                3.缺点容易导致栈溢出,所以一般调用层次是999层

     def func(n):
       print(n)
       return func(n+1)
     func(1)                             999层


     

    def fun(n):
      if n >1:
        result = n*fun(n-1)
      else:
        result = 1

      return result

    s= fun(4)

    print(s)                 n的阶乘

    2、修改全局变量

    name= 'suqin'

    def test1():
      name = 'lvhonglei'           #局部变量
    print(name)

    test1()
    print(name)


    name= 'suqin'

    def test1():
      global name                #声明要修改的全局变量
      name = 'lvhonglei'
    print(name)

    test1()
    print(name)

    如果全局变量是字典、列表,那么不用global声明,即可修改

    3

    一个函数接受另外一个函数作为参数,称之为高阶函数

    def add(a,b,f):              #  f 是一个函数
      return f(a)+ f(b)
    s = add(3,-9,abs)
    print(s)                    基本工作中用的很少

    life is short,i need python
  • 相关阅读:
    数据结构第九篇——栈与递归
    c++重载(以运算符重载为主)
    (五)分数阶微分方程的解法及其适定性问题介绍
    (四)分数阶微积分
    (三)分数阶微积分
    (二)分数阶微积分
    小学教育试讲
    高中教育试讲
    【级数】 求和
    题东湖风光村
  • 原文地址:https://www.cnblogs.com/lvhonglei-python/p/7201751.html
Copyright © 2011-2022 走看看