Python 조각지식

args는 가변인자- 가변인자라서 인자를 안 받는 함수에게 인자를 줘야할 때 유용하다. (0개로 쳐지기 때문)
인자에 args를 넣는다는 것은 그냥 args가 가진 값들을 iterate하며 하나씩 넣어준단 것이다.
argslist,set,tuple이면 그냥 값을 넣어주고, dictkey를 넣어준다.

2. __new__()

객체의 생성은 __init__이 아니라 __new__가 담당한다. __init__은 __new__의 산물인 인스턴스를
초기화 시키는 역할이다. 그래서 __new__가 만약 아무값도 return하지 않으면 __init__은 실행되지 않는다.

보통은 __init__으로 객체가 생성될 때 초기화 시키고 필요한 값을 넣어주는데, 
같은 역할을 __new__에서도 가능하다.

def __new__(cls, *args, **kwargs):
    obj = object.__new__(cls) # 해당 클래스의 인스턴스를 만든다.
    obj.data = []             # 해당 인스턴스의 값을 초기화 시킨다




댓글

이 블로그의 인기 게시물

로컬 Tomcat 서버 실행속도 개선

2019.05.23 - SQLAlchemy 의 객체 상태 관리 (expire, refresh, flush, commit) 에 관한 이해

2020.02.17 Python의 multiprocessing 중 Pool.map(), chunksize에 관한 내용