zoukankan      html  css  js  c++  java
  • python

    class Foo:
        #构造方法
        def __init__(self,name,age):
            pass
            self.name = name
            self.age = age
       
        def __str__(self):
            return "%s - %d" %(self.name,self.age)

    obj1 = Foo('alex',73)
    obj2 = Foo('eric',84)
    print(obj1)

    out:
    alex - 73

    __getitem__

    class Foo:
        #构造方法
        def __init__(self,name,age):
            pass
            self.name = name
            self.age = age
        def __getitem__(self, item):
            return 123
    
    obj = Foo('alex',73)
    ret = obj['ab']
    print(ret)

    out:

    123

    class Foo:
        #构造方法
        def __init__(self,name,age):
            pass
            self.name = name
            self.age = age
    def __getitem__(self, item): print(item.start) print(item.stop) print(item.step)
    print(type(item),item) obj
    = Foo('alex',73) ret2 = obj[1:4:2]

    out:

    1
    4
    2

    <class 'slice'> slice(1, 4, 2)

    __setitem__

    class Foo:
        #构造方法
        def __init__(self,name,age):
            pass
            self.name = name
            self.age = age
        def __getitem__(self, item):
            return 123
    
        def __setitem__(self, key, value):
            print('setitem')
    
    
    obj = Foo('alex',73)
    obj['k1'] = 111

    out:

    setitem

    class Foo:
        #构造方法
        def __init__(self,name,age):
            pass
            self.name = name
            self.age = age
      
    
        def __setitem__(self, key, value):
            print(type(key),type(value))
            print(key.start)
            print(key.stop)
            print(key.step)
    
    
    obj = Foo('alex',73)
    
    obj[1:4] = [11,22,33,44]

    out:

    <class 'slice'> <class 'list'>
    1
    4
    None
    __delitem__
    class Foo:
        #构造方法
        def __init__(self,name,age):
            pass
            self.name = name
            self.age = age
       
        def __delitem__(self, key):
            print('del item')
    
    
    obj = Foo('alex',73)
    
    del obj['k1']

    out:

    del item

    class Foo:
        #构造方法
        def __init__(self,name,age):
            pass
            self.name = name
            self.age = age
    
    
        def __delitem__(self, key):
            print(type(key))
            print(key.start)
            print(key.stop)
            print(key.step)
    
    
    obj = Foo('alex',73)
    
    del obj[1:4]

    out:

    <class 'slice'>
    1
    4
    None

  • 相关阅读:
    Sublime Text 命令大全(积累所得)
    端口号
    帝之意志 看透世间
    Session and Cookie的基础用法
    厌胜术
    微信支付
    微信登录
    navicat常用快捷键与SQL基本使用
    idea Spring项目一直报错,但是点击进去就恢复正常了,解决办法,通过mvn idea:module命令生成iml文件
    解决报错WARNING: IPv4 forwarding is disabled. Networking will not work.
  • 原文地址:https://www.cnblogs.com/pangguoping/p/5618045.html
Copyright © 2011-2022 走看看