zoukankan      html  css  js  c++  java
  • 类的特殊成员特殊方法__init__;__call__;__del__....

    1.  类;  后面加()   ===》实例化一个对象,并且执行__init__方法

    2. 对象;后面加()  ===》执行__call__方法

    class Foo:
    
        def __init__(self):
            print("init")
    
        def __call__(self, *args, **kwargs):
            print("call")
            return 1
    
    
    r = Foo()  # 实例化一个对象,执行__init__方法
    r()  # 在一个对象后面加括号,执行__call__方法
    
    ret = Foo()() #类Foo()表明实例化一个对象,并且执行__init__方法,后面再()表明执行__call__方法,__call__方法有个返回值1
    print(ret)
    class Foo:
    
        def __init__(self):
            print("init")
    
        def __call__(self, *args, **kwargs):
            print("call")
            return 1
    
        def __getitem__(self, item):
            print(item)
    
        def __setitem__(self, key, value):
            print(key,value)
    
        def __delitem__(self, key):
            print(key)
    
    r = Foo()         # ===> __init__
    r()               # ===> __call__
    r['k1']          # ===> __getitem__
    r['XXX'] = 123   # ===> __setitem__
    del r["000"]     # ===> __delitem__
    
    r[1:3:1]                    # ===> __getslice__(2.7)/__getitem__(3.0)(列表)
    r[1:3] = [11,22,33]         # ===> __setslice__(2.7)/__setitem__(3.0)(列表)
    del r[1:3]                  # ===> __delslice__(2.7)/__delitem__(3.0)(列表)
    
    
    """
    dic = dict(k1=123, k2=456)
    print(dic['k1'])
    dic['k1'] = 111
    
    """
  • 相关阅读:
    Jmeter
    http请求的全过程
    前端知识
    jmeter连接MySQL数据库、sqlserver数据库
    jmeter 生成随机字符串、获取当前时间
    jmeter跨线程组传参
    fiddler抓不到iis网站包的问题
    jmeter登录数据库-- 通过windows身份验证方法(DNS)
    ant安装(Windows系统)
    tomcat安装(Windows系统)
  • 原文地址:https://www.cnblogs.com/xuwenwei/p/9787044.html
Copyright © 2011-2022 走看看