刚开始学习python,我确信这是个愚蠢的问题,但我正在尝试这样的方法:
def setavalue(self):
self.myname = "harry"
def printaname():
print "Name", self.myname
def main():
printname()
if __name__ == "__main__":
main()
我得到的错误是:
NameError: global name 'self' is not defined
我看到了这种使用self语句引用不同方法的变量的方法,在我读到的一些代码中,这种方法运行良好。
谢谢你的帮助
在Python中,
self
是类的实例方法的第一个参数的常规名称,它始终是调用该方法的实例:会给你一些
self
是类中的自引用。您的代码不在类中,您只定义了函数。您必须将方法包装到类中,如下所示。要使用方法main()
,首先必须实例化类的对象并对该对象调用函数。此外,函数
setavalue
应该在__init___
中,这是实例化对象时调用的方法。下一步您可能应该考虑的是将名称作为参数提供给init,这样您就可以创建Name
类的任意命名的对象;)请查看位于Dive into Python的Classes chapter of the Python tutorial和,以获取进一步的参考。
应该是这样的:
相关问题 更多 >
编程相关推荐