假设我有这样一个函数定义:
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
目前没有回答
相关问题 更多 >
编程相关推荐