• 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)
  • 相关阅读:
    centos7安装 mysqlclient 报错的解决办法
    linux yum配置代理
    mysql 基础知识
    centos7 安装MySQL
    win安装mysql
    centos7 安装Mariadb
    python socket
    python 协程
    python 线程
    python 进程
  • 原文地址:https://www.cnblogs.com/pushuiyu/p/14071323.html
Copyright © 2020-2023  润新知