函数的嵌套

函数的互相调用
def func1():
    print("我是神器的func1")

def func2():
    func1()
    print("我是神器的func2")

def func3():
    print("我是神器的func3")
    # func5()

def func4():
    func3()
    print("我是神器的func4")

def func5():
    func2()
    func3()
    print("我是神器的func5")

def func6():
    func5()
    print("我是神器的func6")
    func3()
    func1()

func6()

  

# def outer():
#     def inner():
#         print("我的天哪")
#     print("还可以这样写???")
#     inner()
#
# outer()

# inner() # 在全局不能找到局部的内容

# def func1():
#     print("1")
#     def func2():
#         print("2")
#         def func3():
#             print("3")
#         print("4")
#         func3()
#         print(5)
#     print("6")
#     func2()
#     print("7")
#
# func1()


# 全局变量一般是不能随意的修改的
# a = 10
# def func():
#     # 慎用.
#     global a  # global 表示从全局把一个变量引入到局部, 后面使用的a都是全局变量
#     a += 10 # ?? a = a + 10 # 现在的a是全局的, 你现在视图改全局变量
#     print("里面的打印",a)
# func()
# print("外面的打印", a)


# a = 10
# def func():
#     def inner():
#         # 慎用.
#         global a  # global 表示从全局把一个变量引入到局部, 后面使用的a都是全局变量
#         a += 10 # ?? a = a + 10 # 现在的a是全局的, 你现在视图改全局变量
#         print("里面的打印",a)
#     inner()
# func()
# print("外面的打印", a)

# nonlocal  在局部, 寻找离他最近的外层的一个变量
# a = 50
# def func1():
#     # a = 10 # 局部
#     def func2():
#         nonlocal a # 不找全局, global找全局
#         a += 10 # a = a + 10 python不让这么干
#         print("func2", a)
#     func2()
#     print(a)
# func1()
# print(a)

# 如果没有nonlocal和global 查找的顺序: 自己, 上一层, 上一层, 上一层

# def func0():
#     a = 50
#     def func1():
#         a = 10 # 局部
#         def func2():
#             nonlocal a # 不找全局, global找全局
#             a += 10 # a = a + 10 python不让这么干
#             print("func2", a)
#         func2()
#         print(a)
#     func1()
#     print(a)
# func0()


# a = 1
# def fun_1():
#     a = 2
#     def fun_2():
#         nonlocal a
#         a = 3
#         def fun_3():
#             a = 4
#             print(a)
#         print(a)
#         fun_3()
#         print(a)
#     print(a)
#     fun_2()
#     print(a)
# print(a)
# fun_1()
# print(a)

flag = False

def login():
    global flag
    uname = input("用户名:")
    upwd = input("密码:")
    if uname == "alex" and upwd == "123":
        flag = True
    else:
        flag = False

def fatie():
    if flag == True:
        print("可以发帖")
    else:
        print("滚去登录")

login()

fatie()
fatie()
fatie()
fatie()

  

 

posted @ 2018-12-07 16:44  =-=-  阅读(122)  评论(0编辑  收藏  举报