假设我有这样的函数定义:
def temperature(celcius=10, fahr=50):
有没有办法在函数定义的正文中检查实际传入的两个参数中的哪一个?当我写这个问题时,我意识到我可以在我正在考虑的人为例子中手动完成它(参见下面的代码),但对于具有任意数量的kw参数的函数,是否有一种通用的方法呢?
class Temperature(object):
def __init__(self, celcius=10, fahrheneit=50):
if celcius != 10:
self._celcius=celcius
self._fahr=celcius*1.8 + 32
else:
if fahrheneit != 50:
self._fahr=fahrheneit
self._celcius=5.0*(fahrheneit - 32)/9.0
else:
self._celcius=celcius
self._fahr=fahrheneit
@property
def fahr(self):
return self._fahr
@fahr.setter
def fahr(self, f):
if f < -459.66:
raise ValueError("Temperature below absolute 0 (-459.66F) is not possible")
self._fahr=f
self._celcius=5.0*(f-32)/9.0
@property
def celcius(self):
return self._celcius
@celcius.setter
def celcius(self,c):
if c < -273.15:
raise ValueError("Temperature below absolute 0 (-273.15 celcius) is not possible")
self._celcius=c
self._fahr=1.8*c+32