首页 > 编程 > Python > 正文

python __getitem__

2019-11-08 01:57:34
字体:
来源:转载
供稿:网友

最近使用time.localtime的时候发现结果可以使用下标和属性方式访问.好奇之下查看了一下他的原理, 其实就是__getitem__魔法函数~

>>> import time>>> tm = time.localtime()>>> tm.tm_year2017>>> tm[0]2017#帮助信息>>> help(tm)Help on struct_time object:--------------------------------------------------------- | Methods inherited from builtins.tuple: | __getitem__(self, key, /) | Return self[key].

其中tm可以使用类似属性和下标的形式访问

>>> type(tm)<class 'time.struct_time'>

自定义类如下

>>> class A(): def __init__(self): self.x = 1 self.y = 2 def __getitem__(self, n): return [self.x, self.y][n]>>> a = A()>>> a.y2>>> a[1]2>>> type(a)<class '__main__.A'>

这里我们可以通过下标的形式访问实例中的属性.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表