11函数的应用(函数名=变量)

a = 10
b = 20
a = b # = 赋值把b的值赋值给a所以a就是20
print (a+50)
#70
print (a) 
# 20

# -*- coding: utf-8 -*-
def func():
    print(666)

func()
#666

#1,函数名指向的是函数的内存地址
#2,函数名+()就可以执行函数

#函数名就是变量

def func():
    print ("哈哈")
a = func # 把一个函数赋值给变量a
print (a)
# <function func at 0x000001A9A531B840>
print (func)   
# <function func at 0x000001A9A531B840>
func() 
# 哈哈
a() 
# 哈哈
b = a
c = b
d = c
d() 
# 哈哈
a = 10
b = 20
c = 30
d = 40
lst = [a,b,c,d] #变量列表(变量可以放入列表)
lst1 = ["a","b","c","d"] # 字符串列表
print (lst)
# [10, 20, 30, 40]
print (lst1)
# ['a', 'b', 'c', 'd']
def func1():
    print ("A")
def func2():
    print ("B")
def func3():
    print ("C")
def func4():
    print ("D")


lst = [func1,func2,func3,func4]
print (lst)
#  [<function func1 at 0x000001AF766FB840>, <function func2 at 0x000001AF766FB8C8>, <function func3 at 0x000001AF766FB950>, <function func4 at 0x000001AF766FB9D8>]


lst[0]() 
#A
for item in lst:
    item()   
    #A
    #B
    #C
    #D


lst1 = [func1,func2,func3(),func4]
print (lst1)
# C   [<function func1 at 0x0000026F25FFB840>, <function func2 at 0x0000026F25FFB8C8>, None, <function func4 at 0x0000026F25FFB9D8>]


def func():
    c =10
    return c  #返回了c变量的值
ret = func()
print (ret)
# 10
def func():
    def lol():
        print ("德玛西亚")
    return lol  # return返回的是lol这个函数
ret = func()
print (ret) # <function func.<locals>.lol at 0x000001D33F84B8C8>
ret() # 德玛西亚
def func():
    def lol():
        print ("德玛西亚")
    return lol()  # return返回的是lol这个函数
ret = func() #德玛西亚
print (ret) # None

def func(cc):
    print (cc)
a = 10
func(a)   #10

def func(fn):
    fn()
def an ():
    print ("我是an")
def bn():
    print ("我是bn")
func (an)  # 我是an
func (bn)  # 我是bn
func (an)  # 我是an
原文地址:https://www.cnblogs.com/gemoumou/p/13635348.html