zoukankan      html  css  js  c++  java
  • 跟着太白老师学python day11 函数名的应用 globals(), locals()

    1.  函数名就是内存地址

    def func():
        print('123')
    
    print(func)

    >>>> <function func at 0x00000000003DC1E0>

    2, 函数名可以被作为变量被传递

    def func1():   #2 函数名可以作为变量被传递
        print('123')
    
    f1 = func1
    f2 = f1
    f2()  # 执行 func1()

    3. 函数名可以被作为参数传递

    def func1():  # 3.函数名可以作为参数被传递
        print(123)
    
    def func2(x):
        x()
    func2(func1) #func1被作为参数传入func2中,在func2中加的括号使得函数执行

    4. 函数名可用作返回值

    def func1(): # 4 函数名可以用作返回值
        print(123)
    
    def func2(x):
        return x
    tag = func2(func1)   #返回的func1的内存地址
    tag()                #func1() 执行这个函数

    5 .函数名可以用作容器类的形式的元素

    def func1():
        print(1)
    
    def func2():
        print(2)
    
    def func3():
        print(3)
    
    def func4():
        print(4)
    
    l = [func1, func2, func3, func4]  #将函数名放入一个列表容器中
    
    for i in l: # 循环列表
        i()         #执行每个函数地址

    globals() 返回全局变量的一个字典

    locals()  返回当前函数局部变量的一个字典

    def wrapper():
        a = 1
        b = 2
        def inner():
            c = 3
            d = 4
            print(globals())
            print(locals())    #输出结果为{'c':3, 'd':4},locals()对应的局部函数为inner,其变量为c=3,d=4 
        inner()
    wrapper()
  • 相关阅读:
    python zip()函数转置表,操作列
    python 集合 无序非重 容器的操作
    前行
    工作读书放松: 做其他事情 1.运动(如焦),2.闭眼睡觉休息(如蔡),3.选择读其他书
    心在哪时间在哪路在哪
    vi全部替换
    选择
    知识 代码 算法
    code algorithm
    绕过CND查找真是IP地址
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/9493479.html
Copyright © 2011-2022 走看看