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)) #输出递归最终得到的结果到控制台