0

所以我整天都在搞这个,我仍然无法让它工作

class pleaseWork:
    def __init__(self):
        self.foo=printThis(1)
        self.bar=printThis(2)
    def printThis(x):
        if x==1:
            print "foot"
        elif x==2:
            print "bar"

result=pleaseWork()

result.bar

它只是返回

NameError: global name 'printThis' is not defined

请告诉我为什么它不起作用...

4

2 回答 2

5

因为printThis是当前对象的一个​​属性。

self.foo = self.printThis(1)
于 2012-09-30T16:59:17.670 回答
1
class pleaseWork:
    def __init__(self):
        self.foo=self.printThis(1)
        self.bar=self.printThis(2)
    def printThis(self, x):
        if x==1:
            print "foot"
        elif x==2:
            print "bar"

result=pleaseWork()

result.bar
于 2012-09-30T16:59:01.737 回答