python类[]函数
我最近从ruby迁移到python,在ruby中,您可以创建self[n]方法,我在python中如何做到这一点 换句话说,你可以这样做python类[]函数,python,Python,我最近从ruby迁移到python,在ruby中,您可以创建self[n]方法,我在python中如何做到这一点 换句话说,你可以这样做 a = myclass.new n = 0 a[n] = 'foo' p a[n] >> 'foo' 您可以使用。欢迎来到光明面;-) 看起来你是说。和 尝试: 更新(以下评论): 如果您希望使用元组作为您的密钥,您可以考虑使用 DICT,它具有内置的所有功能,即: 你能描述一下Ruby中的self[nth]是什么意思吗?这个方法能支持多维度吗
a = myclass.new
n = 0
a[n] = 'foo'
p a[n] >> 'foo'
您可以使用。欢迎来到光明面;-) 看起来你是说。和 尝试: 更新(以下评论):
如果您希望使用元组作为您的密钥,您可以考虑使用<代码> DICT<代码>,它具有内置的所有功能,即:
你能描述一下Ruby中的
self[nth]
是什么意思吗?这个方法能支持多维度吗?ie.i[0][3][2]假设i[0]
和i[0][3]
返回的对象实现\uuuu getitem\uuuuuu()
[用于获取]和\uuuu setitem\uuuuuuuuuuuu()
[用于设置],是的。如果调用了i[0,1,2]键会是一个管吗?在这种情况下,(0,1,2)作为元组将是键。您也可以考虑使用<代码> DICT<代码>:A= {};a[n]=“foo”;打印一个[n];还值得指出的是,您可以将切片传递给\uu getitem\uuu
,因此i[1:3:5]
将切片(1,3,5)
作为键传递进来。
class my_class(object):
def __getitem__(self, key):
return some_value_based_upon(key) #You decide the implementation here!
def __setitem__(self, key, value):
return store_based_upon(key, value) #You decide the implementation here!
i = my_class()
i[69] = 'foo'
print i[69]
>>> a = {}
>>> n = 0, 1, 2
>>> a[n] = 'foo'
>>> print a[n]
foo