가 종종 내가 같이 생성자가 다음
class Foo(object):
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
이 있다면 궁금 해서요 이와 같은 생성자를 인코딩하는 편리한 방법. 아마도 다음과 같이 보이는 것일 수 있습니다 :
class Foo(object):
SOME_MACRO_LIKE_THINGY_THAT_SPECIFIES_THE_CONSTRUCTOR(a,b,c)
정확히 원래의 코드와 비슷합니다.
원래 버전의 버그는 필자가 Foo의 각 인스턴스 변수를 세 번 (인수로 한 번, 한 번은 self.a로, 또 다시 한 번 self.a에 할당 할 값으로) 써야한다는 것입니다.
나는 그다지 큰 거래가 아니라고 생각하지만, 코드가 더 적은 반복으로 더 깔끔하게 보일 것이라고 생각합니다.
이 상황을 처리하는 Pythonic 방식은 무엇입니까?
당신이 즉, 마스터 클래스의 서브 클래스로Foo
모든 다른 사람을 만들 수
솔직하게 나는 원래의/표준/표준 방식을 좋아합니다. 매일 수십 번 본다. 나는 그것이 어떻게 작동하고 그것이 무엇을하는지 정확히 안다. 이것은 여분의 추상화가 코드의 가독성을 크게 떨어 뜨리는 장소 인 IMO입니다. 지금 나는 놀라운 일을하기 위해 파이썬 매직을 뛰어 넘을 수있는 매크로를 파헤쳐 야합니다. –