我无法弄清楚这个非常简单的片段有什么问题:
class A(object):
def printme(self):
print "A"
self.printme()
a = A()
Run Code Online (Sandbox Code Playgroud)
回溯(最近一次调用最后一次):文件"prog.py",第1行,在A类(对象)中:文件"prog.py",第5行,在A self.printme()中NameError:名称'self'不是定义
Sve*_*ach 11
以下应该解释这个问题.也许你想试试这个?
class A(object):
def printme(self):
print "A"
a = A()
a.printme()
Run Code Online (Sandbox Code Playgroud)
该名称self仅在显式声明所调用参数的方法中定义self.它没有在类范围内定义.
类范围仅在类定义时执行一次."调用"类A()调用它的构造函数__init__().所以也许你真的想要这个:
class A(object):
def __init__(self):
self.printme()
def printme(self):
print "A"
a = A()
Run Code Online (Sandbox Code Playgroud)