跳到主要内容

定义与调用:写你的第一个函数

最简单的函数

加载代码编辑器中……
PythonJavaScript
关键字deffunction
函数体缩进大括号 {}

Python 用 def(define 的缩写),JS 用完整的 function。Python 程序员又省了几个字 😏

返回值

函数不只能"做事",还能"给你一个结果":

加载代码编辑器中……
PythonJavaScript
无返回值时返回 None返回 undefined

多个返回值

加载代码编辑器中……

Python 可以直接 return a, b(本质上返回元组),JS 需要返回数组 [a, b] 再解构。

默认参数

加载代码编辑器中……

两种语言的默认参数写法几乎一样!终于有个一模一样的了。

关键字参数 vs 对象参数

当函数参数很多的时候,记住顺序很痛苦。两种语言有不同的解决方案:

加载代码编辑器中……
PythonJavaScript
方式关键字参数(内置语法)对象解构(模式)
语法func(key=value)func({ key: value })

Python 的关键字参数是语言内置的,JS 是社区用对象解构模拟的。效果差不多,但 Python 更优雅。

可变参数

有时你不知道会收到多少参数:

加载代码编辑器中……
PythonJavaScript
收集位置参数*args...args
收集关键字参数**kwargs用对象代替
🏋️AI 练习

写一个"计算器"函数,接受两个数字和一个运算符("add", "sub", "mul", "div"),返回计算结果。

  • 运算符用默认参数,默认为 "add"
  • 除法要处理除以 0 的情况

用 Python 和 JS 各写一版。

小结

概念PythonJavaScript
定义函数def func():function func() {}
无返回值返回 None返回 undefined
多返回值return a, breturn [a, b]
默认参数def f(x=1):function f(x = 1) {}
可变参数*args...args
关键字参数f(key=val) 内置f({ key: val }) 模拟