一分钟学会python的__getitem__方法

在python中__getitem__(self,key)方法被称为魔法方法,这个方法返回所给键对应的值。当对象是序列时,键是整数。当对象是映射时(字典),键是任意值。

使用场景:在定义类时,如果希望能按照键取类的值,则需要定义__getitem__方法

目的:如果给类定义了__getitem__方法,则当按照键取值时,可以直接返回__getitem__方法执行的结果。

class Fib():                  #定义类Fib
    def __init__(self,start=0,step=1):
        self.step=step
    def __getitem__(self, key): #定性__getitem__函数,key为类Fib的键
            a = key+self.step
            return a          #当按照键取值时,返回的值为a

s=Fib()
s[1]  #返回2 ,因为类有 __getitem__方法,所以可以直接通过键来取对应的值

如果不给类Fib()定义 __getitem__方法,则会无法通过键来获取对应的值

class Fib():                  #定义类Fib
    def __init__(self,start=0,step=1):
        self.step=step
s=Fib()
s[1] 
返回:TypeError: 'Fib' object does not support indexing

这种方法可以让使用者非常方便的取值,我们经常使用列表和字典,都有该方法。

原创不易,如果对你有帮助,动动小手点个赞!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北.海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值