12월, 2018의 게시물 표시

Python 조각지식

args 는 가변인자 - 가변인자라서 인자를 안 받는 함수에게 인자를 줘야할 때 유용하다 . ( 0 개로 쳐지기 때문 ) 인자에 args 를 넣는다는 것은 그냥 args 가 가진 값들을 iterate 하며 하나씩 넣어준단 것이다 . args 가 list , set , tuple 이면 그냥 값을 넣어주고 , dict 면 key 를 넣어준다 . 2. __new__() 객체의 생성은 __init__이 아니라 __new__가 담당한다. __init__은 __new__의 산물인 인스턴스를 초기화 시키는 역할이다. 그래서 __new__가 만약 아무값도 return하지 않으면 __init__은 실행되지 않는다. 보통은 __init__으로 객체가 생성될 때 초기화 시키고 필요한 값을 넣어주는데, 같은 역할을 __new__에서도 가능하다. def __new__(cls, *args, **kwargs): obj = object.__new__(cls) # 해당 클래스의 인스턴스를 만든다. obj.data = [] # 해당 인스턴스의 값을 초기화 시킨다