2016-11-08 108 views
0

值分配給嵌入式消息字段我有以下原,我想如果我用Python寫下面的代碼值賦給一個嵌入式消息字段如何在協議緩衝區的Python

message Foo { 
    required Bar bar = 1; 
} 
message Bar { 
    optional int32 i = 1; 
} 

,它提供了以下錯誤

foo = Foo() 
foo.bar.i = 1 

錯誤:

AttributeError: 'instancemethod' object has no attribute 'i'

如何處理這個問題?

+0

'bar'是一種方法。當你調用它時會發生什麼,例如'bar()' –

回答

0

要在Python中執行您想要的操作,您必須在Foo類中定義bar方法。像這樣的事情會做到這一點:

class Foo: 
    i = 1 

    def bar(self): 
     return self.i 

if __name__ == '__main__': 
    foo = Foo() 
    foo.bar = 1 
    print(foo.bar) # this will print 1 
+0

def bar(self):已經存在。不過,我仍然面臨同樣的錯誤... – Venkatesh