Как определить функцию с необязательными аргументами?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как определить функцию с необязательными аргументами?

Сообщение Anonymous »

У меня есть функция Python, которая принимает несколько аргументов. В некоторых сценариях некоторые из этих аргументов можно опустить.

def some_function (self, a, b, c, d = None, e = None, f = None, g = None, h = None):
#code


Аргументы от d до h представляют собой строки, каждая из которых имеет разное значение. Важно, что я могу выбирать, какие дополнительные параметры передавать в любой комбинации. Например, (a, b, C, d, e), или (a, b, C, g, h), или (a, b, C, d, e, f< /code> или все (это мой выбор).

Было бы здорово, если бы я мог перегрузить функцию, но я читал, что Python не поддерживает перегрузку. . Я попытался вставить в список некоторые необходимые аргументы int — и получил ошибку несоответствия аргументов.

Сейчас я отправляю пустые строки вместо первых нескольких. недостающие аргументы в качестве заполнителей. Я хотел бы иметь возможность вызывать функцию, используя только фактические значения.

Могу ли я передать список вместо этого? список аргументов?

Сейчас прототип, использующий ctypes, выглядит примерно так:

_fdll.some_function.argtypes = [c_void_p, c_char_p, c_int, c_char_p, c_char_p, c_char_p, c_char_p, c_char_p]


Подробнее здесь: https://stackoverflow.com/questions/953 ... -arguments
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»