首页 新闻 会员 周边

参数的本质 = 身份(位置 or 关键字) + 特权(必填 or 可选)

0
[已关闭问题] 关闭于 2026-06-23 16:37

a=1 就是:位置参数 + 可选特权
*, a=1 就是:关键字参数 + 可选特权

当你看到 def f(a=1): 时:
● 它的真身是:位置参数。
● 它的特权是:可选(有默认值)。

其实,“可选项”(Optional)根本不是参数的类型,它只是参数的一种“特权”(有默认值)。
在 Python 中,任何一个参数,本质上只有两种身份(由它在函数定义中的位置决定):
1. 位置参数(Positional Argument)
2. 关键字参数(Keyword-only Argument)

1. “是不是可选的” —— 取决于有没有默认值
● 有 = (默认值):就是可选参数(可以不传)。
● 没有 = :就是必填参数(必须传)。

2. “是不是位置参数” —— 取决于它在函数定义中的位置
● 在 * 或 *args 之前的参数:是位置参数(可以按顺序传,也可以用名字传)。
● 在 * 或 *args 之后的参数:是强制关键字参数(只能用名字传,不能按顺序传)。

*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1834
提问于:2026-06-23 16:37
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册