반응형
아래 사진은 text -> json형태 변환 프로그램 중 일부입니다.
def 끝자락마다 보이는 이 pass는 무슨 역할을 하는 것일까요?
직감적으로, 리턴 할 것 없이 그냥 통과하라는 느낌이 딱 들었습니다.
실제로 그 당시 구글링 했을 때에도 ^딱 이 정도로 이해하고 넘겼던 것 같은데요. (빨리 코드를 수정해서 넘겨야 했기에...)
파이썬 책을 읽다가 제대로 된 해답을 알게 되어 기록할 겸 포스팅합니다.
코딩을 할 때 전체 골격을 먼저 잡아 놓고 코딩하는 경우가 있습니다.
class MyClass(object):
def method_a(self):
def method_b(self):
print("Method B")
c = MyClass()
이렇게 말이죠 !
그러나 이 클래스는 실행되지 않습니다. 아래처럼 인덴트 오류가 발생합니다.
def method_b(self):
^
IndentationError: expected an indented block
이유는 method_a()에서 아무런 처리를 하지 않았기 때문입니다. "야 개발자야, 너 method_b() 여기 인덴테이션 하나 추가해서 method_a() 안에 넣어야 하는거 아니냐 ?! 이상해 method_a()에 아무것도 없잖아." 하고 알려주는거죠.
pass는 이런 오류를 막는 역할을 합니다.
class MyClass(object):
def method_a(self):
# 추가됨
pass
def method_b(self):
print("Method B")
c = MyClass()
pass :
널 연산(Null Operation) 으로, 아무것도 하지 않는 기능
이는 파이썬 알고리즘 인터뷰(박상길 지음, 정진호 일러스트, 책만 출판사) 책의 일부에서 정보를 가공하여 포스팅 한 글입니다.
반응형
'언어 > PYTHON' 카테고리의 다른 글
[Python]임의 순환체의 요소 나누기 / 언패킹(Unpacking) 심화 / 별 표현식 '*' (0) | 2022.11.21 |
---|---|
[Python] 시퀀스를 개별 변수로 나누기 / 언패킹(unpacking) (0) | 2022.11.16 |
[Python 오류] ImportError: cannot import name (0) | 2022.08.24 |
[Python 오류] TypeError: 'str' object is not callable | selenium 구글 검색 매크로 프로그램 (2) | 2022.08.22 |
[Python/초보를위한] 파이썬 패키지와 모듈 만들기, 임포트하는 방법(import, from import, import as) (0) | 2022.06.24 |
댓글