작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
152
1
선생님 공부하다가 제 머리로는 이해 안되는게 생겼습니다
약 7분 29초 이고
for문 안에 if 문이 있는데
for s in os.path.sep, os.path.altsep:
if s:
위와 같이 if s: 이렇게 되어있는데
if문을 왜 쓴걸까요?
s는 무조건 존재하기때문에
무조건 참이 나올수밖에 없는 상황인데
해당 코드가 왜 들어갔는지 잘 모르겠어요
뭔가 심오한 뜻이 있을거 같은데 알려주시면 감사하겠습니다
답변 1
1
안타깝게도... 그리 심오한 뜻은 없습니다. 그냥 하나의 개발자 습관이라고 보시면 되는데..
사실 말씀하신것 처럼 for s in os.path.... : 에서 s 는 무조건 참이 되는게 맞습니다. 그런데 저는 코딩할때 for 의 s 를 염두하고 작성하기보다..
filename = filename.replace(s, " ")
s 를 사용하는 다음줄의 코드를 염두해서 작성할때 습관적으로 해당 코드가 의도치 않는 처리 과정을 방어하기 위해서 코드를 작성하는 습관이 있습니다.
꼭 위의 코드를 예시로 들수는 없지만 만약 질문하신 내용에서 처럼 정말 당연히 s 는 문제가 없을꺼라 생각했는데 s 에 의해 문제가 생기면 저기서 발생하는 오류를 나중에 검출해내기가 너무너무 어려워지는 경험을 많이 하다보니 생긴 습관이라고 봐주셨으면 좋겠습니다. ^^;