• __new__方法和pop方法(判断)


    new方法(构造方法)是在函数一加载的时候就被执行,在init方法执行之前被执行

    def __new__(cls,*args,**kwargs):

    if kwargs.pop('many',False)##判断many是true还是flase
    return cls.many_init(*args,**kwargs)##如果是false的话,就返回当前类的方法
    判断这个是true还是false

    return super(Base,cls).__new__(cls,*args,**kwargs)否则的话,就返回父类的new方法
    就是listserializer方法

     

    在init方法执行之前,先执行了__new__方法

    xx(obj,many=False)上面返回的是xx,当前的对象进行序列化操作(当前类的序列化对象)
    xx(queryset,many=True)下面返回的是listserializter(对每一个对象进行序列化操作)

     

     

     

     

    字典的pop方法(可以判断name属性存不存在值)

     

    one={'name':'2132332'}
    #one={'name':''}当是这种形式的话,就执行下面的函数,不存在值
    ###这个是判断你存不存在后面的这个值,通过pop的方法,
    if one.pop('name'):
    print('存在值')
    print(one)

    else:
    print('other')
    print(one)


    结果:

    存在值
    {}


    '''
    pop方法讲解:

     

    当这个字典的某属性后面存在值的话(不管是什么都可以,只要存在值),那么就可以pop操作成功,移除成功,就是那个字段后面对应了值的话,name后面存在值
    当字典后面不存在值的话,那么就不可以移除,那么就为false,执行下面的函数
    '''

     

    按照索引来移除:

    a=[12,435,54,656]
    a.pop(-1)
    print(a)
    结果:
    [12, 435, 54]
  • 相关阅读:
    redis -- RDB
    redis--数据库
    redis-慢查询日志
    redis 订阅与发布
    redis 事务
    redis 事件
    redis--服务器与客户端
    readis 内部数据结构
    Redis数据类型
    Docker 限制容器资源
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/9899499.html
Copyright © 2020-2023  润新知