0
def inner_function(self):
x = "one"
y = "two"
def outer_function(self):
self.inner_function()
print "X is %" % x
print "Y is %" % y
outer_function()
我所要的输出是:
>>> X is one
>>> Y is two
我觉得我不理解在Python方法/函数的正确使用self
。
我现在返回的错误是:TypeError: outer_function() takes exactly 1 argument (0 given)
感谢您的帮助!
谢谢。就我所知,一种方法是当一个函数与一个类相关联时。然后,为了编写一个方法,我需要引用该方法的类类,这就是为什么当我构造方法时将self.method()和def method_name(self):'放在一起的原因? – YPCrumble 2014-09-23 03:58:01
你会使用'self.method()'从同一个类中的另一个方法调用一个方法。在课堂之外,你可以创建一个对象,然后调用该方法,例如'var = MyClass()'后面加'var.method()'。每个有“自我”参数的方法的要点是,在类本身内部,你不知道它可能被调用哪个对象,所以你需要一种方法来引用当前对象是什么,这就是自我'是一个参考。独立函数不与对象相关联,所以'self'会不合适。 – 2014-09-23 03:59:03