I have a python script and I am receiving the following error:
Traceback (most recent call last):
File "C:\Users\Tim\Desktop\pop-erp\test.py", line 1, in <module>
s = Something()
NameError: name 'Something' is not defined
Here is the code that causes the problem:
s = Something()
s.out()
class Something:
def out():
print("it works")
This is being run with Python 3.3.0 under Windows 7 x86-64.
Why can't the Something
class be found?
Define the class before you use it:
class Something:
def out(self):
print("it works")
s = Something()
s.out()
You need to pass self
as the first argument to all instance methods.
user574435
You must define the class before creating an instance of the class. Move the invocation of Something
to the end of the script.
You can try to put the cart before the horse and invoke procedures before they are defined, but it will be an ugly hack and you will have to roll your own as defined here:
来源:https://stackoverflow.com/questions/14804084/python-nameerror-name-is-not-defined