Найти - Пользователи
Полная версия: Из другого файла
Начало » Python для новичков » Из другого файла
1
ChinYan
Господа, только недавно стал изучать python.
Мне нужно что бы определение класса было в одном файле, а его экземпляр создавался и использовался в другом.
Файл класса:
class MyClass:
def f():
print("Hello world!")
Основной файл:
import abc
x = MyClass()
Но интерпретатор выдает ошибку:
x = MyClass()
NameError: name ‘MyClass’ is not defined
Причем dir(abc) выдает пустую строку.
Вот как заставить это все работать?
И еще вопрос. Как создать конструктор класса?
s0rg
Кодовое слово - пространство имен (namespace)
1)
import abc
x = abc.MyClass()
2)
from abc import MyClass
x = MyClass()
ChinYan
на первые выдает:
AttributeError: ‘module’ object has no attribute ‘MyClass’
На второе - ImportError: cannot import name MyClass

Сдается мне, что он просто не находит файл abc.py хотя он лежит в той же папке, что и главный
s0rg
У вас в коде косяк - f() - это метод, а вы ему self не передаете

upd:
abc - это модуль из стандартной поставки, и импортируется именно он, и у него нет MyClass ))
переименуйте в abc_test.py и в главном модуле измените имена.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB