47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
1

TypeError: 'module' object is not callable

25.04.2011, 16:59. Показов 15718. Ответов 1
Метки нет (Все метки)

Помогите, пожалуйста, не понимаю, в чем ошибка. Выводится такая ошибка:
Python
1
2
3
4
Traceback (most recent call last):
  File "C:\Users\LyricCoder\workspace\Python\src\helloWorld.py", line 5, in <module>
    hashSet = HashSet("1")
TypeError: 'module' object is not callable
Погулил, говорят, что из-за импорта, я пробовал 2 варианта:
1) 1 вариант

Вот главный исполняемый файл.
Python
1
2
3
4
5
6
7
8
9
#!usr/bin/env python3
 
import utils.HashSet
 
hashSet = utils.HashSet(["asd",1,56858,0.435])
 
 
for iterator in hashSet.__iter__:
    print(iterator)
2 вариант
Python
1
2
3
4
5
6
7
from utils import HashSet
 
hashSet = HashSet(["asd",1,56858,0.435])
 
 
for iterator in hashSet.__iter__:
    print(iterator)
Я попытался сделать похожим интерфейс итератора на Java(внутренний класс и метод __iter__ возвращает экземлпяр класса "итератор"). Вроде, по логике приложения должно все работать.


-----------------------------------------------------------
А вот класс HashSet пакета utils:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class HashSet:
    
    listOfObjects = [] 
       
    def __init__(self, objects):
        HashSet.listOfObjects = objects
        
    def add(self,object):
        if(object in HashSet.listOfObjects):
            raise KeyError
        else:
            HashSet.listOfObjects.append(object)
            pass
    
    def __iter__(self):
            return HashSet.Iterator
    
    
    def get(self,dstObject):
        for object in HashSet.listOfObjects:
            if(dstObject == object):
                return object
            else:
                raise KeyError
            
        
    class Iterator:
        
        count = 0;
        
        
        def __next(self):
            if(HashSet.terator.count > len(HashSet.hashes)):
                raise StopIteration
            else:
                HashSet.Iterator.count += 1
                return HashSet.Iterator.count - 1
            
        def remove(self,object): 
            if(object not in HashSet.hashes):
                raise KeyError
            else:
                HashSet.hashes.remove(object.__hash__())
                HashSet.listOfObjects.remove(object)



2-ой вопрос. Для этого программы обязательно должен в конструктор передаваться тот класс, у которого реализован метод __hash__(). Я слышал, что это делается очень быстро в pyhton (проверка, реализован ли метод __hash__). Как это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2011, 16:59
Ответы с готовыми решениями:

TypeError: 'int' object is not callable
Здравствуйте, интересует такой вопросик(вот код): def Fs(t,c,T): t0=c global Fs ...

TypeError: 'list' object is not callable
Только учусь программированию, при написании кода выдают ошибку &quot;TypeError: 'list' object is not...

TypeError: 'NoneType' object is not callable
вот код# -*- coding: utf-8 -*- &quot;&quot;&quot; This Example will show you how to use register_next_step...

TypeError: 'NoneType' object is not callable
Добрый день всем! Подскажите пожалуйста, при запуске программы, питон ругается. import requests...

1
4864 / 3286 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
26.04.2011, 06:12 2
Python
1
2
3
import utils
 
hashSet = utils.HashSet(["asd", 1, 56858, 0.435])
Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
class HashSet:
    
    listOfObjects = [] 
       
    def __init__(self, objects):
        self.listOfObjects = objects
        #HashSet.listOfObjects = objects
это добавление в экземпляр (не в класс)

Добавлено через 3 минуты
Python
1
2
for iterator in hashSet.__iter__:
    print(iterator)
Python
1
2
for it in iter(hashSet):
    print(it)
__iter__ - это встроенный метод (функция), поэтому её надо вызывать __iter__(), иначе просто даст объект-функцию
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2011, 06:12
Помогаю со студенческими работами здесь

TypeError: 'int' object is not callable
Начал изучать питон но столкнулся с проблемой. def d(): x=int(input(&quot;Введите: &quot;))...

Max(): TypeError: 'Series' object is not callable
Добрый вечер! Объясните пожалуйста, почему это не работает a=0.1 b=0.2 c=0.3 s= max(s)

Ошибка TypeError: 'int' object is not callable
print(&quot;Введите аргумент вычисляемого выражения: &quot;, end=&quot;&quot;) from math import * a =...

Выдаётся ошибка: TypeError: 'set' object is not callable
#Путь до файла folder = input('Введите полный путь до файла: ') trash_domens =...

TypeError: 'str' object is not callable. Как исправить?
import string file = open(&quot;input.txt&quot;, &quot;r&quot;) db = file.readlines() file.close() file =...

TypeError int object is not callable, ошибка в функции len
Добрый день, Уважаемые форумчане. Я пишу простенький скрипт, суть его в том, что он берет строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru