self
(일부) __init__
메소드의 인수에 자동으로 바인딩하는 방법이 있습니까? 대신자동 바인딩을위한 파이썬 데코레이터 __init__ 인수
class Person:
@lazy_init
def __init__(self, name, age, address):
...
... : 사람들이 이미 이러한 경우에 사용하는 것이 비슷한이 궁금
class Person:
def __init__(self, name, age, address):
self.name = name
self.age = age
self.address = address
...
내가 좋아하는 뭔가를 의미한다. 아니면 처음부터 이런 식으로하지 말아야 할 이유가 있습니까? 당신이 속성에 매핑 속성 이외의 무언가를 가지고 시작하면, 당신은 비록 문제로 실행하는거야
def lazy_init(init):
import inspect
arg_names = inspect.getargspec(init)[0]
def new_init(self, *args):
for name, value in zip(arg_names[1:], args):
setattr(self, name, value)
init(self, *args)
return new_init
class Person:
@lazy_init
def __init__(self, name, age):
pass
p = Person("Derp", 13)
print p.name, p.age
:
그게 다야! 고맙습니다. –
다른 리소스에 대한 링크 일 뿐인 댓글은 매우 나쁜 형태입니다. –