刚开始学习 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 语句来引用不同方法的变量的方法,效果很好。
谢谢您的帮助
self
是类中的自引用。您的代码不在类中,您只定义了函数。您必须将方法包装在一个类中,如下所示。使用方法main()
,您首先必须实例化类的对象并调用该对象的函数。
此外,你的功能setavalue
应该在__init___
,实例化对象时调用的方法。您可能应该考虑的下一步是将名称作为参数提供给 init,这样您就可以创建任意命名的对象Name
班级 ;)
class Name:
def __init__(self):
self.myname = "harry"
def printaname(self):
print "Name", self.myname
def main(self):
self.printaname()
if __name__ == "__main__":
objName = Name()
objName.main()
看看Python 教程的类章节 http://docs.python.org/tutorial/classes.html an at 深入Python https://diveintopython3.net/iterators.html#init-method以供进一步参考。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)