我正在尝试在类中设置我的Python程序。但是当我有这个:
class program:
def test(value):
print value + 1
def functionTest():
a = test(2)
if __name__ == "__main__":
functionTest()
我收到错误: NameError:未定义全局名称'test'
我需要做些什么来“激活”测试方法? 非常感谢!
答案 0 :(得分:6)
class Program:
def test(self, value):
print value + 1
def functionTest(self):
a = self.test(2)
if __name__ == "__main__":
myprog = Program()
myprog.functionTest()
self
作为参数test
self.test()
以上所有假设你真的想要一个类并在你的代码中使用它。如果没有,请看看@ brandizzi的答案
答案 1 :(得分:4)
您不需要课程来完成您想要做的事情。实际上,使用一个没有任何意义。只需用这种方式编写代码:
def test(value):
print value + 1
def functionTest():
test(2)
if __name__ == "__main__":
functionTest()
课程非常重要且有用,但我敢打赌你们已经开始学习Python了。因此,在开始使用类之前,请花一些时间查看函数,命令等。(另外,不要忘记阅读the tutorial - 它是必不可少的)
答案 2 :(得分:3)
为什么要在课堂上包装所有内容?这不是java。只需删除类程序行(以及所有内容的缩进)即可。
答案 3 :(得分:1)
你必须致电
myprogram = Program()
除了能够将您的功能称为
myprogram.funtionTest()
您必须将self作为参数添加到Program方法中。
这是一个有效的例子:
class Program():
def test(self, value):
print value + 1
def functionTest(self):
self.test(2)
if __name__ == "__main__":
myprogram = Program()
myprogram.functionTest()