在Python中,什么是mixin,为什么它们有用? 删除Python文件中的特定行 在Python中如何定义静态方法 在Python中,什么是mixin,为什么它们有用? mixin是一种特殊的多重继承。使用mixins有两种主要情况: 您希望为类提供许多可选功能。 您想在许多不同的类中使用一个特定的功能。 举一个例子,考虑werkzeug的请求和响应系统。我可以通过以下方式制作一个普通的旧请求对象: from werkzeug import BaseRequest class Request(BaseRequest): pass 如果我想添加接受标头支持,我会这样做 from werkzeug import BaseRequest, AcceptMixin class Request(AcceptMixin, BaseRequest): pass 如果我想创建一个支持接受标头,etags,身份验证和用户代理支持的请求对象,我可以这样做: from werkzeug import BaseRequest, AcceptMixin, ETagRequestMixin, UserAgentMixin, AuthenticationMixin class Request(AcceptMixin, ETagRequestMixin, UserAgentMixin, AuthenticationMixin, BaseRequest): pass 差异很微妙,但在上面的例子中,mixin类并不是独立的。在更传统的多重继承中,AuthenticationMixin(例如)可能更像是Authenticator。也就是说,该课程可能会设计为独立。 删除Python文件中的特定行 在Python中如何定义静态方法