当前位置: 动力学知识库 > 问答 > 编程问答 >

python - class is not defined despite being imported

问题描述:

I'm trying to brush up on my python skills, and I'm dicking around with writing classes but I seem to have run into a really confusing error. Despite importing the .py file containing my class, python is insistent that the class doesn't actually exist.

class 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()

now as far as I can tell, I have followed all the documentation down to the 't', I even initialized arguments to None because of eval time vs creation time constraints etc which seemed to be a problem with some people, I have made sure init is the first function defined as well still to no avail, although I have a theory that the import is not working as it should.... Any help would be much appreciated.

网友答案:

Use the fully-qualified name:

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

There is an alternative form of import that would bring greeter into your namespace:

from testclass import greeter
网友答案:
import testclass
# change to
from testclass import greeter

or

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

You imported the module/package, but you need to reference the class inside it.

You could also do this instead

from testclass import *

but then beware of namespace pollution

分享给朋友:
您可能感兴趣的文章:
随机阅读: