python __getitem__()方法理解

本文详细解读Python中__getitem__()方法的使用,解释了如何通过实例对象操作时触发该方法,并通过实例DataTest类演示了其实现过程。理解其行为有助于更高效地操作自定义类的动态属性获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考 python __getitem__()方法理解 - 云+社区 - 腾讯云

如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P)就可以这样P[key]取值。当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。

# -*- coding:utf-8 -*-
class DataTest:
    def __init__(self,id,address):
        self.id=id
        self.address=address
        self.d={self.id:1,
        self.address:"192.168.1.1"
        }
            
    def __getitem__(self,key):
        return "hello"
        
     
data=DataTest(1,"192.168.2.11")
print data[2]

输出结果为:

hello

在这我认为实例对象的key不管是否存在都会调用类中的__getitem__()方法。而且返回值就是__getitem__()方法中规定的return值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Wanderer001

ROIAlign原理

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

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

打赏作者

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

抵扣说明:

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

余额充值