Я буду использовать функцию range
в качестве основного примера в этом вопросе.Как методы Python обрабатывают произвольные параметры?
Я использую range
для создания списка номеров. Тем не менее, я часто использую его с разными параметрами, в частности, с другим количеством NUMBER параметров. Меня удивляет, как range
легко обрабатывает различное количество параметров и присваивает их их соответствующему значению (если они представляют наибольшее значение или наименьшее значение или интервал между значениями). Как это делает range
? Использует ли он if
инструкции для обработки каждого сценария или есть более эффективный способ?
обрабатываются с использованием * args и ** kwargs, которые являются динамическими параметрами, которые не должны использоваться. но при использовании функция будет иметь интеллект для принятия этого параметра. см. http://stackoverflow.com/questions/3394835/args-and-kwargs и http: //www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/ –