Форум сайта python.su
Господа, только недавно стал изучать python.
Мне нужно что бы определение класса было в одном файле, а его экземпляр создавался и использовался в другом.
Файл класса:
class MyClass:
def f():
print("Hello world!")
import abc
x = MyClass()
Офлайн
Кодовое слово - пространство имен (namespace)
1)
import abc
x = abc.MyClass()
from abc import MyClass
x = MyClass()
Офлайн
на первые выдает:
AttributeError: ‘module’ object has no attribute ‘MyClass’
На второе - ImportError: cannot import name MyClass
Сдается мне, что он просто не находит файл abc.py хотя он лежит в той же папке, что и главный
Офлайн
У вас в коде косяк - f() - это метод, а вы ему self не передаете
upd:
abc - это модуль из стандартной поставки, и импортируется именно он, и у него нет MyClass ))
переименуйте в abc_test.py и в главном модуле измените имена.
Отредактировано (Дек. 14, 2011 21:56:42)
Офлайн