Получение аргументов через указатели в Python

У меня есть класс, функция которого определяется следующим образом. Я намерен отправить несколько аргументов.

Для тестирования я назвал его как :class_name("argument1","argument2") , и он говорит: __init__accepts atmost 1 arguments , 3 given

 def __init__(self, **options): for name in options: self.__dict__[name] = options[name] 

Каков правильный способ справиться с этим?

Любые предложения приветствуются ……

3 Solutions collect form web for “Получение аргументов через указатели в Python”

Вы хотите использовать одну звездочку вместо двух. Двойные звездочки предназначены для именованных аргументов. В документации на python есть хорошее объяснение, если вы заинтересованы в дальнейшем чтении.

 def __init__(self, *options): for name in options: self.__dict__[name] = name 

Однако из вашего кода я считаю, что реальная проблема заключается в том, что вы неправильно вызываете свою функцию.

Вы хотели бы назвать это так:

 class_name(argument1="some value") def __init__(self, **options): for name,val in options.iteritems(): self.__dict__[name] = val 

Вот более простой способ написать

 def __init__(self, **options): vars(self).update(options) 

Форма * собирает позиционные аргументы:

 def __init__(self, *options): 

и форма ** собирает аргументы ключевых слов:

 def __init__(self, **options): 

Вы предоставляете 2 позиционных аргумента плюс экземпляр как self , но он определен как ожидающий только 1 позиционный аргумент self .

  • TypeError: не все аргументы, преобразованные во время форматирования строки
  • Ошибка компилятора Python, x не принимает аргументов (1 данный)
  • Разница между мутацией, восстановлением, копированием и оператором присваивания
  • pythonic способ преобразования переменной в список
  • Вызов конструкторов суперкласса в python с разными аргументами
  • Использование вывода argparse для вызовов
  • Ошибка: function () принимает не менее n аргументов (n задано)
  • В python, как перетащить 1 или более файлов на мой скрипт в качестве аргументов с абсолютным путем? (для окон, linux и mac)
  •  
    Interesting Posts for Van-Lav

    Как сгенерировать несколько графиков, щелкнув один график для получения дополнительной информации, используя интерактивные события python

    Применение функций к многомерным массивам numpy без циклов

    Как получить значение переменной, введенное с пользовательского ввода?

    python получает список значений из списка dict

    Объединение списка с целыми значениями с Python

    start-stop-daemon и python

    Область вложенного списка

    Напишите разные шестнадцатеричные значения в Python2 и Python3

    Как напечатать значение объекта Tensor в TensorFlow?

    Python / Tensorflow – Я тренировал сверточную нейронную сеть, как ее проверить?

    Python UnicodeDecodeError – Я неправильно понимаю кодировку?

    Как написать скрипт bash, который вызывает себя с помощью python?

    Модели GAE: список дочерних узлов в родительском

    Сохранение объектов класса в рамках робота

    {django-tables} Caught NameError при рендеринге: глобальное имя 'name' не определено

    Python - лучший язык программирования в мире.