Подтвердить что ты не робот

Класс не определен, несмотря на импорт

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

4b9b3361

Ответ 1

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

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

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

from testclass import greeter

Ответ 2

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 *

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