函数的Python参数

时间:2017-07-01 23:02:27

标签: python function arguments kwargs

假设我有这样的函数定义:

 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

0 个答案:

没有答案