我现在一直在使用继承,我发现自己在类的构造函数部分编写了大部分代码,并且我已经到了存在如此多的属性以至于对它们进行分类要容易得多的地步,我做到了它通过声明一个空的对象类并在主类中创建一个属性,该属性将对象类作为数据类别返回:
import somemodule as sm
class Background(object):
def __init__(self):
pass
class Border(object):
def __init__(self):
pass
class Main(sm.SomeClass):
def __init__(self, item):
super().__init__(self)
self.item = item
# some more attribute from the parent class
# starts getting messy
self.bd.width = 10
self.bd.color = 'blue'
# looks cleaner than self.bg_color
self.bg.accent = 'yellow'
self.bg.color = 'green'
@property
def bg(self)
return Background
@bg.getter
def bg(self)
return Background
@property
def bd(self)
return Border
@bd.getter
def bd(self)
return Border
ins = Main('app')
我刚刚习惯了类,我还不太了解如何使用@decorator
s。
我的问题是它是否以任何方式“pythonic”,或者甚至完全不正确,正确的方式是什么?