2016-01-28 63 views
-2

如何在Python C#索引,這樣[INT I] {獲取設置}實現?換句話說,如何用Python語言編寫的代碼如下?確實Python有一個方法來實現類似C#索引?

public class foo{ 
    ... 
    List<foo2> objfoo; 
    ... 
    public foo2 this[int i] { 
     get{ return objfoo[i]; }} 
}//end class foo 

//in another class or method... 
ofoo = new foo(); 
... 
foo2 X = ofoo[3]; 
+0

示例:http://code.activestate.com/recipes/577703-item-properties/ –

回答

0

如果你想使一類的工作類似於一個Python list(類似於其他語言數組),你也可以繼承列表,並給你的類自定義方法和屬性,而無需重寫任何列表方法或者,除非你的屬性需要。

試圖模仿你們中的一些已發佈的信息:

class foo(list): 
    def __init__(self, *args): 
     self.extend(args) 
     self.x = "Now" 

    def smack(self): 
     print("Smackity!") 

ofoo = foo(1, 2, 3, 4, 5, 6) 
print(ofoo[3]) # Prints 4 
print(ofoo.x) # Prints "Now" 
ofoo.smack() # Prints "Smackity!" 

您可以正常使用列表的方法來添加或更改索引項目你想要的任何方式。

而且,這裏的more on lists,如果有幫助。

相關問題