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 先看并记录,但不执行。
调用函数:通过这个名字找到之前记录的操作,并真正执行。

相关推荐
段一凡-华北理工大学1 小时前
大模型应用开发 100 天:Python + LLM 从入门到精通 day26~Prompt 调试与优化——A/B 测试与效果评估
windows·python·大模型·prompt·智能体·提示词工程·高炉智能化
Minecraft红客1 小时前
以撒的结合
python·游戏·电脑·娱乐
Circ.1 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
风早爽太2 小时前
用 ‌Render‌ 快速部署网站和常见问题解决
python·fastapi
李航19833 小时前
给自己的图形引擎,配上了AI渲染,做设计真是太方便了
人工智能·python·计算机视觉·ai·ai编程
L@ncor3 小时前
第六章 框架开发实践 · 学习笔记(AutoGen / AgentScope / CAMEL / LangGraph)
python·框架·autogen·langgraph·agentscope
Zhou1411363 小时前
SpringSecurity_02_授权与高级功能
开发语言·python
摇滚侠5 小时前
《On Java 中文版 基础卷》阅读笔记 对象无处不在 03
java·笔记·python