用python传递类(不是实例)?
对python来说比较陌生,来自C#,所以请容忍我:) 基本上,我得到了大量“几乎重复”的SQLAlchemy代码,看起来是这样的用python传递类(不是实例)?,python,sqlalchemy,Python,Sqlalchemy,对python来说比较陌生,来自C#,所以请容忍我:) 基本上,我得到了大量“几乎重复”的SQLAlchemy代码,看起来是这样的 def method1(): dbObj1 = Class1.query.filter_by(id=search_id).first() [a bunch of operations on this object] 对这些对象执行的操作与这两个类中存在的访问属性相同。在C#或Java中,我会通过使用某种基类和/或泛型来解决这个问题。然而,
def method1():
dbObj1 = Class1.query.filter_by(id=search_id).first()
[a bunch of operations on this object]
对这些对象执行的操作与这两个类中存在的访问属性相同。在C#或Java中,我会通过使用某种基类和/或泛型来解决这个问题。然而,我不知道如何在Python中解决这种重复问题
有什么类似于泛型的吗?或者可以通过某种方式更改SQLAlchemy查询,以便消除重复数据
感谢您的支持:)
编辑:使示例更清晰一点实际上,您可以像这样传递该类:
A类:
def foo(self):
返回“foo”
B类:
def foo(self):
返回“bar”
def do_某事(c):
e=c()
打印(e.foo())
做点什么(A)
做点什么(B)
类本身就是对象,所以你可以对(Class1,Class2)中的class\u name做:class\u name.query.filter…
@FiddleStix它有不同的方法,不是紧跟在后面的:D,但我想这也意味着我可以有类似doOperationsOn(Class1)
,对吗?你能在这里发布实际的代码吗?传递类是可以的,但是OP希望以后使用类(或静态)属性,所以不需要创建实例。我不知道,这看起来正是我需要的@SergeBallesta我想这只是为了举例说明使用传递的类创建实例;)@我知道。。。但是在你接受答案之前有一个最短的时间限制。。。所以我不得不坐在外面;)
def method2():
dbObj2 = Class2.query.filter_by(id=search_id).first()
[the same operations on this object]