2013-12-18 127 views
2

我想从同一个类中的另一个方法获取一个方法的变量。当我使用getattr获取该方法的返回值时,我需要获取该method.I的特定变量提到下面的详细信息如何在不使用getattr的情况下获取一种方法的变量

class hai(): 
    def hel(self): 
    a=10 
    b=20 
    c=a+b 
    print c 
def hw(self): 
    d=10 
    print d 

在上述程序中,我需要来访问方法hw.I不能能得到特定的变量值变量b的值。

+1

如果“需要”访问'B'内'hw'从外面看,你或许应该重新考虑你的设计。 – Hyperboreus

回答

2

它添加到类,像这样

class hai(): 
    def __init__(self): 
    self.b = 0 
    def hel(self): 
    a=10 
    self.b=20 
    c=a+b 
    print c 
def hw(self): 
    d=10 
    print d, self.b 
+1

除非它是一个可变对象。 –

+0

@ IgnacioVazquez-Abrams即使它是可变的,引用也会改变,对吧? – thefourtheye

+0

@thefourtheye:否。如果您尝试使用列表,则所有实例将共享一个列表。在这种情况下,您需要在'__init__'中分配'self.b'。甚至对于不可变的对象也可以做同样的事情。 – user2357112

相关问题