码迷,mamicode.com
首页 > 其他好文 > 详细

08 函数基础2

时间:2019-06-25 16:40:15      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:func   名称空间   pass   加载顺序   内存   div   input   python解释器   解释   

‘‘‘‘‘‘
‘‘‘
函数的嵌套定义

函数对象:
    函数的内存地址称之为函数对象
函数的名称空间:
    全局:
        所有顶着头写的变量、函数...都称之为"全局名称空间"
    局部:
        在函数内部定义的,都称之为"局部名称空间"
    内置:
        python解释器自带的都称之为"内置名称空间"
    
    名称空间加载顺序:
        内置 ---> 全局 ---> 局部
    名称空间查找顺序:
        局部 ---> 全局 ---> 内置
‘‘‘
#函数的嵌套定义
def func1():

    print(from func1...)

    def func2():
        print(from func2...)

#函数对象
print(func1)

def f1():
    pass
def f2():
    pass

dic1 = {1:f1,2:f2}

choice = input(请选择功能编号:)
if choice == 1:
    print(dic1[choice]) #<function f1 at 0x000001657CDCA8C8>
    dic1[choice]()

elif choice == 2:
    print(dic1[choice]) #<function f2 at 0x0000025FC39DA950>
    dic1[choice]()


#函数的名称空间
x = 10
def func1():
    x = 20
    print(from func1...)
    print(x)    #20,查找从局部开始
    #x = 30
    def func2():
        print(from func2...)

func1() #调用函数func1()

 

08 函数基础2

标签:func   名称空间   pass   加载顺序   内存   div   input   python解释器   解释   

原文地址:https://www.cnblogs.com/urassya/p/11083594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!