Python 语言本身不提供名为 fun() 的内置函数;fun() 仅是教程中常用的自定义函数占位符,需用 def 定义后才能调用,且调用前必须先定义。
fun()
直接说结论:Python 语言本身不提供名为 fun() 的内置函数。你看到的 fun() 通常只是教程或示例中随意起的函数名(类似 foo()、test()),代表“某个自定义函数”。真正执行的是你自己用 def 定义的那部分逻辑。
fun() 的语法和关键点定义一个叫 fun() 的函数,本质就是写一段可复用的代码块,并绑定到名字 fun 上。它必须以 def 开头,后跟括号和冒号:
def fun():
print("Hello from fun!")
注意以下几点:
def 是语句,不是表达式 —— 它不会返回函数对象以外的值,也不会自动执行函数体fun 是变量,指向函数对象;你可以后续重新赋值,比如 fun = lambda: "replaced"
pass)fun() 前必须先定义Python 是顺序执行的脚本语言。如果在定义前就写 fun(),会触发 NameError: name 'fun' is not defined。
立即学习“Python免费学习笔记(深入)”;
常见错误写法:
fun() # ❌ 运行时报错:NameError
def fun():
return 42
正确顺序:
def fun():
return 42
result = fun() # ✅ 此时才执行函数体,result 得到 42
补充说明:
if True:),只要该分支被执行过,函数就可用当你写下 fun() 并回车,Python 解释器实际做了三件事:
'fun' 的对象__call__ 方法(函数对象天然支持)None)传回调用点一个小验证:
def fun():
return "done"
print(fun.name) # 输出 'fun'
print(type(fun)) # 输出 ''
print(callable(fun)
) # 输出 True
容易忽略的一点:函数对象本身是第一类对象,可以被赋值、传参、存入列表,而不仅限于“被调用”。fun 和 fun() 是完全不同的东西 —— 前者是函数,后者是调用结果。