2013-12-18 126 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

相關問題