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

21

Я пытаюсь освежить свои навыки в 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 это первая определенная функция, но пока безрезультатно, хотя у меня есть теория, что импорт не работает должным образом ... Любая помощь будет высоко ценится.

Ваш Ответ

2   ответа
31

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

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

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

from testclass import greeter
15

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 *

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

Похожие вопросы