【发布时间】:2021-03-02 18:03:46
【问题描述】:
假设我有 3 个变量和一个函数 func:
a=1;b=1;c=1
def func(a=a,b=b,c=b/a):
print(a,b,c)
令我惊讶的是,func(b=2) 产生了一个输出:
1 2 1.0
为什么c不是b/a,即不是2/1=2?
如果传递了非默认a 或b(即它们中的任何一个不等于1),我如何让函数在调用时重新计算c?
【问题讨论】:
-
如果你能推荐一个更好的问题标题,我愿意接受。
标签: python function arguments default-arguments