zoukankan      html  css  js  c++  java
  • 函数名也可以当做变量,

    函数名是一个特殊的变量,加括号就能执行函数,函数的名字,本质是变量,特殊的变量
    函数名可以当做变量使,可以赋值,可以作为容器类的数据元素,可以作参数,作为函数的返回值
     
     1.赋值
    def func1():
        print(666)
    f = func1()  #将函数名赋值给一个变量f
    print(f)
     
     2.作为容器类的数据元素
    def f1():
    print(111)
     
    def f2():
    print(222)
     
    def f3():
    print(333)
     
    def f4():
    print(444) #如何只调用一个将f1-f4的值全部打印出来.
     
    l1 = [f1, f2, f3, f4] #建立一个列表将全部要调用的函数名添加进来.
    for i in l1: #进行循环,
    i() #i就是每一个函数名,用i()就哭直接循环调用每一个函数.!!!不能直接print,
    如果是将很多个函数名添加到一个列表进行循环,然后进行调用呢?
     
    l2 = [] #x先建一个空的列表
    for i in range(1,5): #假如是要添加10个函数名
    l2.append("f" + str(i))
    for j in l2:
    eval(j)() #eval抛开字符串的俩边,eval()括号里要跟个要抛开的对象,而i又要调用,分开就是俩步eval(i),i()
     
     3.函数名可以作为参数(传参)
    a = 1
    def f1(x):
    print(x)
    f1(a) #这样分解看,把a = 1传参给x,,即x 的值就变成a = x =1,所以打印结果是1
     
    def f1():
    print(666)
    def f2(x): # x = f1,x相当于f1
    x()
    f2(f1) #调用f2,把f1传参给x,即x =f1 = 666,执行x就等于打印666
     
    4.函数名可以作为函数的返回值
    def f1():
    print(666)
    def f2(x):
    return x
    ret = f2(f1)
    ret()
    执行f2把f1传给x, return x是返回,给f2(f1)这个整体,这个整体是等于f1,然后把f2(f1)赋值给ret,最后执行ret打印666
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    在Android迷你广告上添加浮动的关闭按钮
    Android之搜索框的纯代码实现
    Android控件在点击、选择时背景变化(button、listview)
    在限制中突破——你所不知道的iPhone输入法秘密
    MVC、MVP与MVT
    dede 添加自定义函数
    织梦函数调用
    织梦开启PHP 标签
    织梦数据库函数调用
    织梦调用文章 ID (来源:百度知道)
  • 原文地址:https://www.cnblogs.com/sunny7/p/9222503.html
Copyright © 2011-2022 走看看