Python 在定义函数时,究竟定义的是什么?

学习 Python 函数时,经常会听到一句话:

Python 遇到函数时,只会定义,不会执行。

其实所谓的"定义函数",可以简单理解成:

给一套操作取一个名字,让 Python 先看并记录这些操作,但暂时不执行。

例如:

python 复制代码
def fun():
    print("Hello")
    print("Python")

这里相当于把:

python 复制代码
print("Hello")
print("Python")

这一套操作取名为:

text 复制代码
fun

当 Python 处理这个函数定义时,它会看并记录 fun 里面有哪些操作,并检查代码的基本语法是否正确。

可以简单理解为:

text 复制代码
fun 对应:
1. print("Hello")
2. print("Python")

但是此时只是看并记录,不会真正执行这些操作,所以不会输出任何内容。


为什么要看并记录这些操作?

因为以后调用:

python 复制代码
fun()

时,Python 必须知道:

fun 这个名字对应哪些操作,现在应该执行什么。

所以定义函数时先看并记录,调用函数时再真正执行。

当运行到:

python 复制代码
fun()

Python 就会找到之前记录的操作,并依次执行:

python 复制代码
print("Hello")
print("Python")

输出:

text 复制代码
Hello
Python

一句话理解

定义函数:给一套操作取一个名字,Python 先看并记录,但不执行。
调用函数:通过这个名字找到之前记录的操作,并真正执行。

相关推荐
合尘猫19 分钟前
图片表格变结构化数据:OCR 后的三个坑
python·ocr
小小张说故事20 分钟前
Python 里弱引用到底弱在哪:拆开 weakref.ref、回调陷阱和 WeakValueDictionary
python
用户019027581611 小时前
用 DuckDB 存查 A 股 K 线:零服务、SQL 直接分析
python
程序员果子2 小时前
本体构建方法
人工智能·python·知识图谱·agent框架·本体
天天被压力3 小时前
【A股分钟级高频数据完全手册 #11】券商实时行情数据接口:实时交易(券商源)接入与字段
java·人工智能·python
总裁余(余登武)3 小时前
【python项目】:1操作EXCEl自动化开发
python·自动化·excel
芝梵家电数据笔记3 小时前
用字段表核对暖菜板长期使用条件:结构、暖区、质保边界
python·家电·数据校验·dataclass·选购
天天被压力3 小时前
【A股分钟级高频数据完全手册 #12】股票五档盘口数据接口:买卖五档实时盘口解析
java·人工智能·python
卷无止境15 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
灿飞屋17 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓