SubClass에있는 모든 속성 이름을 목록에 넣으려는 경우 Base 클래스에서이 작업을 수행하려고합니다. 어떻게해야합니까? 내 방법은 지금 :Python : 기본 클래스의 메서드에서 하위 클래스의 새 특성 이름을 가져 오는 방법은 무엇입니까?
class Base():
def __init__(self):
# print SubClass' new attribues' names ('aa' and 'bb' for example)
for attr in dir(self):
if not hasattr(Base, attr):
print attr
class SubClass(Base):
aa = ''
bb = ''
그렇게 할 수있는 더 좋은 방법은 무엇입니까?
도움 주셔서 감사합니다.
실제로 달성하려는 것은 무엇입니까? –
혼란 스럽습니다. 질문을 편집했습니다. db.Model 클래스의 새 하위 클래스를 정의 할 때 db.Model은 하위 클래스의 특성이 데이터베이스의 열 이름임을 알 수 있습니다. – walknotes
'dir (self)'가 아니라'dir (self .__ class __)'를 원하지 않으면 클래스의 속성뿐만 아니라 인스턴스 속성 (예 : 하위 클래스'__init__'에 정의 됨)을 얻을 수 있습니다. 그렇지 않으면 버전이 본질적으로 광산과 동일하며, 광산은 조금 더 짧습니다. (그리고 논쟁의 여지가 있습니다. '-'는 차이를 의미하며, 원하는 것입니다.) – agf