【问题标题】:How does derived class arguments work in Python?派生类参数如何在 Python 中工作?
【发布时间】:2020-03-30 11:28:47
【问题描述】:

我很难理解 Python 中的一件事。我用 Python 编码已经很长时间了,但是今天有一些东西让我印象深刻,我很难理解

所以情况是这样的

我有一个 mixin 和一个视图

class Mixin:
    def get_session(self,request,*args,**kwargs):
        print(self) #should be the instance passed
        print(request) #should be the request object passed but it's also an instance

class View:
     def get(self,request,*args,**kwargs):
         self.get_session(self,request,*args,*kwargs)
         pass

为什么request参数是Class View的实例,应该是request。请帮我理清这些概念。

【问题讨论】:

  • 您将self 作为get_session 的第一个参数显式传递。这意味着它进入了request 参数。

标签: python inheritance super


【解决方案1】:

您将self 作为get_session 的第一个参数显式传递。这意味着它进入了request 参数。

self.get_session(self,request,*args,*kwargs)
  ^               ^        ^^^^^^^^^^
(self)        (request)    (the rest)

我想你的意思是:

self.get_session(request, *args, **kwargs)

【讨论】:

    猜你喜欢
    • 2010-12-25
    • 2020-09-18
    • 2012-04-21
    • 2011-09-17
    • 2016-05-11
    • 1970-01-01
    • 2011-02-08
    • 2013-12-04
    • 1970-01-01
    相关资源
    最近更新 更多