zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Python基础
    pip install psycopg2出现python setup.py egg_info failed with error code 1 in /tmp/pip-build-YtLeN3/psycopg2错误处理
    Python基础
    C语言基础
    benchmarks
    用 MuGo 搭建 Go Engine 在 KGS 对战
    GPU
    linux 杀掉僵尸进程 (zombie process, defunct)
    CMakeLists.txt 语法
    软件列表(按字母排序)
  • 原文地址:https://www.cnblogs.com/pushuiyu/p/14071323.html
Copyright © 2011-2022 走看看