python - Overwriting Class Methods to define Kwargs - Which is Pythonic? -


i'm working on abstraction layer database, , have super class defined similar this:

class test():     __init__(self, object):         self.obj = object      @classmethod     def find_object(cls, **kwargs):         # code search object put in parameter using kwargs.          return cls(found_object) 

i break down superclass subclasses more specific objects represent.

class test_b(test):     # subclass defining more specific version of test. 

now, each separate subclass of test has predefined search criteria. example, test_b needs object = 10, b = 30, c = "pie".

which more "pythonic"? using find_object method super class:

testb = test_b.find_object(a=10, b=30, c="pie") 

or overwrite find_object method expect a, b, , c parameters:

@classmethod def find_object(cls, a, b, c):     return super().find_object(a=a, b=b, c=c)  testb = test_b.find_object(10, 30, "pie") 

first one. "explicit better implicit" - zen of python: line 2


Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -