五.Python_全局与局部变量 函数递归

 Python_全局与局部变量   函数递归

#11.变量

#全局变量  没有缩进的变量称为全局变量
    #name="tom"
    #print(name)
    #def test():
    #    print(name)
    #test()

#局部变量 在函数内部定义带有缩进的变量称为局部变量

    #全局作用域与局部作用域
    #函数外部的区域称为全局作用域
    #函数内部的区域称为局部作用域
    #函数内部寻找变量先找局部作用域,如果局部作用域找不到,再去找全局作用域里是否有自己要找的变量


    #name="tom"
    #def test1():
    #    name="alex"
    #    print(name)
    #test1()


    # name="tom"
    # def test1():
    #     print(name)
    # test1()

#global
#在函数内部修改全局变量

    # name="tom"
    # print("全局变量:%s"%name)#输出全局变量
    # def test3():
    #     global name #在函数内部定义全局变量
    #     name="alex"  #修改全局变量name
    # test3()
    # print("修改后的全局变量:%s"%name)#输出修改后的全局变量




#nonlocal
#修改上级函数的变量

    # name="tom"
    # def up():
    #     name="alex"
    #     print(name) #函数变量
    #     def up1():
    #         nonlocal name #获取上级函数的变量
    #         name="marry"  #修改上级函数的变量
    #     up1()
    #     print(name) #修改后的函数变量
    # up()


#12.函数递归  相当于循环,通过不断的调用自身函数并return最终的处理结果
#递归:  1.递归要有终止循环的条件

    # def cale(x):
    #     if x//2==1:   #判断x被2整除是否为1
    #         return x%2  #x被2整除为1,获取x%2的值作为最终结果返回
    #     else:
    #         return cale(x//2)  #如果不满足条件,将x//2的商作为参数x,继续调用cale()函数
    # print(cale(25))  #输出递归最终得到的结果到控制台

猜你喜欢

转载自blog.csdn.net/qq_39663113/article/details/85036567