zoukankan      html  css  js  c++  java
  • python __getitem__()方法理解

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

    1.  
      # -*- coding:utf-8 -*-
    2.  
      class DataTest:
    3.  
      def __init__(self,id,address):
    4.  
      self.id=id
    5.  
      self.address=address
    6.  
      self.d={self.id:1,
    7.  
      self.address:"192.168.1.1"
    8.  
      }
    9.  
       
    10.  
      def __getitem__(self,key):
    11.  
      return "hello"
    12.  
       
    13.  
       
    14.  
      data=DataTest(1,"192.168.2.11")
    15.  
      print data[2]


    输出结果为:

    hello


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

  • 相关阅读:
    BZOJ3631 [JLOI2014] 松鼠的新家
    HDU
    HDU
    HDU
    二分图求最大独立集模板
    HDU
    HDU
    HDU
    Codeforces 1197F Coloring Game 矩阵快速幂 (看题解)
    HDU
  • 原文地址:https://www.cnblogs.com/shuimuqingyang/p/14204656.html
Copyright © 2011-2022 走看看