путь require_once не может найти файл?

kwargs - это просто словарь, который добавляется к параметрам.

Словарь может содержать пары ключей, значений. И это - кварты. Итак, как это сделать.

Что не так просто.

Например (очень гипотетический) у вас есть интерфейс, который просто вызывает другие процедуры для выполнения задания:

def myDo(what, where, why):
   if what == 'swim':
      doSwim(where, why)
   elif what == 'walk':
      doWalk(where, why)
   ...

Теперь вы получаете новый метод «drive»:

elif what == 'drive':
   doDrive(where, why, vehicle)

Но подождите минуту, появляется новый параметр «автомобиль» - вы этого не знали раньше. Теперь вы должны добавить его в подпись myDo-функции.

Здесь вы можете бросить kwargs в игру - вы просто добавляете kwargs в подпись:

def myDo(what, where, why, **kwargs):
   if what == 'drive':
      doDrive(where, why, **kwargs)
   elif what == 'swim':
      doSwim(where, why, **kwargs)

Таким образом вам не нужно менять подпись функции интерфейса каждый раз, когда некоторые из ваших подпрограмм могут измениться.

Это всего лишь один хороший пример, который вы могли бы найти полезными для kwargs.

0
задан user878729 29 September 2011 в 20:54
поделиться