紫藤竹轩 发表于 2024-12-26 14:36:56

二楼真棒。

万恶的亚撒西 发表于 2025-6-3 15:24:44

越来越难,越来越重要,20250603

zy_956 发表于 2025-11-13 09:32:01

0. 如果一个函数要求传递位置参数,那么颠倒实参的顺序,肯定会报错,是吗?
不会

1. 默认参数跟关键字参数有啥区别?
默认参指定默认值

2. 任何支持传递位置参数的函数,都可以使用关键字参数吗?
是的,但是位置参数必须在关键字参数的前面

3. 请问下面代码是否会报错,为什么?
>>> def abc(a, /, b, c):
...   print(a, b, c)
...
>>> abc(a=3, b=2, c=1)
# 请问这里会报错吗?

会报错,因为/左侧的参数必须为位置参数

4. 请问下面代码是否会报错,为什么?

>>> def abc(a, *, b, c):
...   print(a, b, c)
...
>>> abc(c=3, b=2, a=1)
# 请问这里会报错吗?
不会,因为*左边的参数可以为关键参数

5. 请问下面代码会打印什么内容,为什么?
>>> def myfunc(s, vt, o):
...    return "".join((o, vt, s))
...
>>> myfunc(o="我", "清蒸", "小甲鱼")
# 请问这里会打印什么内容?
报错,因为关键字参数应该在位置参数后面。
页: 1 [2]
查看完整版本: 第042讲:函数(II)