Python中的激活方法
我正在尝试把我的Python程序放在类里面。但是当我写了这个:
class program:
def test(value):
print value + 1
def functionTest():
a = test(2)
if __name__ == "__main__":
functionTest()
我遇到了一个错误:NameError: global name 'test' is not defined
我该怎么做才能“激活”这个test方法呢?非常感谢!
4 个回答
4
你为什么把所有东西都放在一个类里呢?这又不是Java语言。只要把类的那一行代码去掉(还有把里面的内容缩进去掉),程序就能正常运行了。
5
你并不需要一个类来完成你想做的事情。其实,使用类没有什么意义。你可以这样写你的代码:
def test(value):
print value + 1
def functionTest():
test(2)
if __name__ == "__main__":
functionTest()
类确实很重要也很有用,但我猜你可能刚开始学习Python。所以在使用类之前,先花点时间了解一下函数、命令等等。 :) (另外,别忘了去看看这个教程 - 它是必不可少的)
6
- 你需要把
self
作为一个参数传进去。 - 你需要用
self.test()
来调用test
方法。 - 你需要创建一个 Program 的实例(也就是从你的类里生成一个对象)。
- 你需要在那个对象上调用方法。
- 用来创建对象和调用方法的代码不应该放在你的类里面(缩进不对)。
class Program:
def test(self, value):
print value + 1
def functionTest(self):
a = self.test(2)
if __name__ == "__main__":
myprog = Program()
myprog.functionTest()
以上这些都是在假设你确实想用类并在代码中使用它。如果不是,可以看看 @brandizzi 的回答。