默认功能参数基于先前的参数

时间:2018-07-12 13:40:40

标签: python-3.x default-parameters

>>> def foo( a, b=a+1 ):
...     return b
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

我知道的解决方法是:

>>> def foo( a, b=None ):
...     if b == None:
...         b = a + 1
...     return b
... 
>>> foo(5)
6

我的用例:我需要ba形状的单位矩阵。可以更优雅地做到这一点,还是“正确的方法”?

0 个答案:

没有答案