繁体   English   中英

Python 中的泛型类

[英]generic Class in Python

我想用一种方法在 Python 中做一个泛型类

  • 此类不生成其实例
  • 一些属性设置在类的主体中
  • 此类的方法使用设置的属性,在生成的类中,此方法的输出取决于这些属性
  • 方法只有一个输入

我知道没有元类是行不通的,但我不知道如何应用它们:)

是这样的:

class GenericClass:
  attr_a = ''
  attr_b = ''
  def count(text):
    return len(text)/attr_a + attr_b

class A(GenericClass):
  attr_a = 2
  attr_b = 1

text = "Hello, I'm under the water"
print(A.count(text))
# 14

count定义为类方法将使它起作用:

@classmethod
def count(cls, text):
    return len(text) / cls.attr_a + cls.attr_b
class GenericClass:
    def _count(text, a, b):
        return len(text)/a + b

class A(GenericClass):
    attr_a = 2
    attr_b = 1

    def count(text):
        return GenericClass._count(text, A.attr_a, A.attr_b)
    
text = "Hello, I'm under the water"
print(A.count(text))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM