目录

  • 函数补充进阶
    • 函数对象
    • 函数的嵌套
    • 名称空间与作用域
    • 闭包函数
  • 函数之装饰器
  • 函数之可迭代对象
  • 函数之迭代器
  • 函数之生成器
  • 面向过程的程序设计思想

一、函数进阶之函数对象

1. 函数对象

  秉承着一切皆对象的理念,我们再次回头来看函数(function)。函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋值给给一个变量、可以作为元素添加到集合对象中、可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的。

  • 函数身为一个对象,拥有对象模型的三个通用属性:id、类型、和值。
#!/usr/bin/env python
#-*- coding:utf-8 -*-

def foo():
    print('from foo')

print(id(foo))      # id属性
print(type(foo))    # 类型
func=foo            # 将函数名赋值给一个变量
print(foo)          # 输出函数的内存地址
print(func)         # func变量指向foo函数的内存地址
func()              # 加()调用执行

# 结果
'''
7266512
<class 'function'>
<function foo at 0x00000000006EE0D0>
<function foo at 0x00000000006EE0D0>
from foo
'''
函数对象

相关文章:

  • 2021-06-02
  • 2021-12-12
  • 2021-09-08
  • 2021-11-25
  • 2021-10-25
  • 2021-07-09
  • 2021-07-04
  • 2022-02-04
猜你喜欢
  • 2022-01-08
  • 2022-12-23
  • 2018-03-03
  • 2022-12-23
  • 2021-05-25
  • 2021-09-14
  • 2021-12-27
相关资源
相似解决方案