Python 是否有办法实现类似 C# 的索引器
本文关键字:索引 实现 是否 Python | 更新日期: 2023-09-27 18:32:25
如何在Python C#索引器中实现 - 像这样[int i] {get set}?换句话说,如何用python编写以下代码?
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];
如果要使类的工作方式类似于 Python 列表(类似于其他语言中的数组),则可以子类列表并为类提供自定义方法和属性,而无需重写任何列表方法或属性,除非需要。
尝试模仿您发布的一些内容:
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!"
可以使用普通列表方法以所需的任何方式添加或更改索引项。
此外,如果有帮助,这里有更多关于列表的信息。