• super在python 2.7和Python3中的使用


       

    重写是继承机制中的重要内容,对于构造方法尤为重要。构造方法用来初始化新建对象的状态,大多数子类不仅要有自己的初始化代码,还要拥有超类的初始化代码。
    如果一个类的构造方法被重写,那么就需要调用超类的构造方法,否则对象可能不会被正确的初始化–Python基础教程将上述思想进行实践.

    超类super

    在pycharm开发环境,在python2中使用super ,必须把子类加入括号内,

    super(bidView,self)
    class bidView(ListAPIView,CreateAPIView):
    
        queryset = models.BidRecord.objects.filter()
        serializer_class = bidViewSerializer
        # 过滤,重新get_querset
        def get_queryset(self):
            item_id=self.request.query_params.get('item_id')
            return  self.queryset.filter(item_id=item_id)
        def get(self,request,*args,**kwargs):
    
            reponse=super(bidView,self).get(request,*args,**kwargs)

    在Python3环境,直接写super(),

    class bidView(ListAPIView,CreateAPIView):
    
        queryset = models.BidRecord.objects.filter()
        serializer_class = bidViewSerializer
        # 过滤,重新get_querset
        def get_queryset(self):
            item_id=self.request.query_params.get('item_id')
            return  self.queryset.filter(item_id=item_id)
        def get(self,request,*args,**kwargs):
    
            reponse=super().get(request,*args,**kwargs)
  • 相关阅读:
    Jmeter正则提取list中相同key的value和出现的次数
    Jmeter正则提取器常用的几种方式
    浅谈python 手机crash和app crash循环执行问题
    python中try except处理程序异常的三种常用方法
    支付功能测试总结
    web搜索功能测试
    日常linux命令
    sql进阶练习题
    常见问题集锦
    HTML+CSS基础
  • 原文地址:https://www.cnblogs.com/pushuiyu/p/14071323.html
Copyright © 2020-2023  润新知