класс не определен несмотря на то, что он импортирован

python class module

38090 просмотра

2 ответа

Я пытаюсь освежить свои навыки Python, и я возиться с написанием классов, но я, кажется, столкнулся с действительно запутанной ошибкой. Несмотря на импорт файла .py, содержащего мой класс, python настаивает на том, что класс на самом деле не существует.

класс def:

class greeter:
    def __init__(self, arg1=None):
        self.text = arg1

    def sayHi(self):
        return self.text

main.py:

#!/usr/bin/python
import testclass

sayinghi = greeter("hello world!")
print sayinghi.sayHi()

теперь, насколько я могу судить, я проследил всю документацию вплоть до 't', я даже инициализировал аргументы для None из-за ограничения времени и времени создания и т. д., которые, как мне показалось, были проблемой для некоторых людей, я убедился, что init - это первая определенная функция, но пока безрезультатно, хотя у меня есть теория, что импорт работает не так, как должен ... Любая помощь будет принята с благодарностью.

Автор: Damon Swayn Источник Размещён: 12.11.2019 09:38

Ответы (2)


32 плюса

Используйте полное имя:

sayinghi = testclass.greeter("hello world!")

Существует альтернативная форма import, которая привнесет greeterв ваше пространство имен:

from testclass import greeter
Автор: NPE Размещён: 23.05.2012 02:48

17 плюса

import testclass
# change to
from testclass import greeter

или же

import testclass
sayinghi = greeter("hello world!")
# change to
import testclass
sayinghi = testclass.greeter("hello world!")

Вы импортировали модуль / пакет, но вам нужно сослаться на класс внутри него.

Вы также можете сделать это вместо

from testclass import *

но тогда остерегайтесь загрязнения пространства имен

Автор: Christian Witts Размещён: 23.05.2012 02:52
Вопросы из категории :
32x32