函数对象和函数嵌套

2018-12-04 07:06:06来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

# 1. 函数对象
#
# 函数是第一类对象:函数的内存地址可以像变量值一样去使用
#
# 最简单的来说吧:学变量的时候我们说过,定义变量时,
# 申请一块内存空间存放值,然后将这个内存空间的地址与变量名建立联系,
# 我们通过变量名就可以访问到值并做一些操作。函数也是一样的,我们定义函数时,
# 申请了一块空间存放函数的代码块,然后将这个内存空间的地址与函数名建立联系。
# 我们同样可以通过函数名去做一些和变量一样的操作。
#
# 首先我们要声明:函数名()这样会触发函数的代码块的执行,就不是我们上面所说的通过内存地址去做操作了。
#
# 函数名就像变量一样,所以我们可以变相的说这样一句话(函数即变量。)
# 这句话不是python给我们规定的,而是我们为了更好的理解函数名的操作而自己创造的!!!

# 1,函数可以被引用

# a = 1
# b = a
# 这样我们就将变量a的值引用给了b
# 函数名同样可以这样操作

# def func():
# pass
# f=func
# f()
# foo()就相当于是调用func函数
# 这样我们就把func函数的内存地址与foo建立了联系。通过foo我们一样可以得到与func一样的执行效果

# 2,函数可以当作参数传给另一个函数

# def func()
# pass
# foo(func)
# 这样我们就实现了将func函数当做参数传入foo函数

# 3,函数可以函数的返回值

# def func(name):
# return name
# a='hello egon'
# func(a)
# 这里返回的就是函数名称本身
# func(foo)
#把函数名当作参数传入,函数名就会被当作返回值返回。

# 4,函数可以当作容器类型的元素

# a=['a','b']
# def func():
# pass
# def foo():
# pass
# a=[func,foo]
# 这里就是函数当作容器类型的元素,这样让我们可以对函数有更多的调用

# 应用
# def register():
# print('注册》》》')
# def login():
# print('登陆》》》')
# def pay():
# print('支付》》》')
# def transfer():
# print('购物车》》》')
#
# func_dic={
# '1':register,
# '2':login,
# '3':pay,
# '4':transfer
# }
# #func_dic['1']()
# while True:
# print("""
#
# 0 退出
# 1 注册
# 2 登录
# 3 支付
# 4 转账
# """)
# choice = input('请输入你的操作: ').strip()
# if choice == '0': break
#
# if choice not in func_dic:
# print('输错的指令不存在')
# continue
# func_dic[choice]()





 

# 函数的嵌套分为两种:
# 1. 定义过程中的嵌套:在函数定义的代码块中又定义了一个函数
# def func():
# pass
# def foo():
# pass

# 2. 调用过程中的嵌套:在函数调用的代码块中调用了另一个函数
# def func()
# pass
# def foo()
# func()
# pass

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【任务】Python语言程序设计

下一篇:简述小数据池,编码和解码