Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0212
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在:
个人网站: `https://oeasy.org`
蓝桥云课: `https://www.lanqiao.cn/courses/3584`
GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 上次了解到函数(fun)是一个套路
- 但是落实到代码上是一个对象
- 这个fun对象里面有个
__code__对象 - 这就是code object
- code object里面有这个函数的各种信息
- 函数名
- 内部变量数量和元组
- 字节码
- 既然函数本质上是一个对象
- 那么可以把函数作为实参来传递么?
- 两个参数 次序有讲究
- 把主要的参数f 放前面
- 先明确 处理方法
- 这很 重要
- 把次要的参数a 放后面
- 再设置 具体参数
- 这比起 处理方法 次要一些
- 把主要的参数f 放前面
- 这里的其实相当于
- 如果是自定义的函数呢?
- 自定义函数也是可以的
- operate的函数三个参数
- sum
- 3
- 4
- 调用operate
- 三个形参赋值
- f = sum
- a = 3
- b = 4
- CALL的FUNCTION是sum
- 也就是sum(3,4)
- 然后返回
- 函数这个对象有什么不同之处呢?
- 函数是可以调用的
- 一般变量返回False
- 可调用的函数返回True
- 这次我们研究了函数作为参数
- 函数本质上是一个函数对象
- 是一个callable的对象
- 也有类型、地址
- 我们把函数作为实参传进去之后
- 可以函数中完成调用
- 这某种程度实现了抽象
- 具体做什么操作是由函数参数决定
- 我可以访问别的模块的参数么🤔
- 我们下次再说👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。











