2015-09-15 3 views
-5

У меня есть два файла,Python обычай не __init__ называется при импорте

main.py 
options.py 

main.py моя основная программа. Я импортировать options.py через:

from options import Options 

, тогда как «варианты» класс я определил в options.py

Options имеет метод пользовательской инициализации:

def __int__(self, afc="red", awc="orange", asc="gray", apn=1738): 

Если я пытаюсь сделать объект изнутри main.py примерно так:

options = Options("red","green","blue",1738) 

Python сообщает мне, что есть неожиданные аргументы. Как я могу создать экземпляр объекта с помощью моего метода init?

здесь соответствующий код моего options.py файла:

class Options: 
    anyBarFailureColor = "" 
    anyBarWarningColor = "" 
    anyBarScrubInProgressColor = "" 
    anyBarPortNumber = 0 

    def __int__(self, afc="red", awc="orange", asc="gray", apn=1738): 
     self.anyBarFailureColor = afc 
     self.anyBarWarningColor = awc 
     self.anyBarScrubInProgressColor = asc 
     self.anyBarPortNumber = apn 

здесь ошибка Python:

Traceback (most recent call last): 
    File "/pathToFile/Python/project/main", line 58, in <module> 
    start() 
    File "/pathToFile/Python/project/main.py", line 55, in start 
    options,listOfPools=mapArgs(args) 
    File "/pathToFile/Python/project/main.py", line 39, in mapArgs 
    options = Options(anyBarFailureColor,anyBarWarningColor,anyBarScrubInProgressColor,anyBarPortNumber) 
TypeError: object() takes no parameters 
+0

вы можете показать нам код из 'Options'? –

+0

Вы должны разместить здесь код. В противном случае вам будет очень сложно помочь. –

+4

Он швы смешивает имена файлов и/или импорт. Не так ли? – pinturic

ответ

0

Никто не должен ни один из типов INT ни индекс и удивляться, почему он не работает. Вздох. Typo, никогда не был init для начала. Теперь все работает.

Смежные вопросы