jojeon4515   1년 전

strip은 디폴트값이 공백인걸로 알고있는데 sys.stdin.readline().rstrip() 하면 왜 맨오른쪽의 줄개행 문자가 없어지는 건지가 궁금합니다..!

ufshg   1년 전

질문의 의미를 모르겠습니다...rstrip()은 그 줄의 오른쪽 공백을 모두 제거합니다.

ufshg   1년 전

추가로 오른쪽의 개행도 제거해줍니다.

hyong11   1년 전

공백 뿐만 아니라 개행문자도 지워줍니다.

참고: https://itsmycode.com/python-r...

bamgoesn   1년 전

"공백"이라는 단어가 혼란을 불러일으킬 수 있는데, strip rstrip 등의 함수에서 제거해준다는 "공백 문자"는 space 문자를 의미하는 게 아닌 "whitespace"라는 문자의 카테고리에 속하는 문자를 의미합니다. 즉, 공백 문자라는 말은 스페이스 문자만을 의미하는 게 아닌, 스페이스 문자와 줄바꿈 문자 등을 포괄하는 하나의 카테고리인 whitespace를 지칭하는 말입니다.

whitespace에 해당되는 문자의 리스트는 위키피디아에서 확인하실 수 있습니다. https://en.wikipedia.org/wiki/... 여기서 신경쓰실 문자는 스페이스(space), 탭 문자(character tabulation, 탭 누르면 나오는 그것), 줄바꿈(line feed, \n), 그리고 캐리지 리턴(carriage return, \r) 정도입니다. 윈도우에서는 \r\n (carriage return + line feed)가, 그 외의 OS에서는 \n (line feed)가 줄바꿈의 역할을 하는데, \r과 \n 모두 whitespace에 해당하기 때문에 strip rstrip 함수로 제거가 됩니다.

jojeon4515   1년 전

아 공백이라는게 단순히 " " 만을 의미하는말이 아니었군요..! 전 띄어쓰기한 빈문자열 한칸을 뜻하는줄알고 strip() 하는데 \n 이 왜 지워지지? strip("\n") 해야하는거아닌가.. 싶어서 ㅋㅋ

기본 문법은 거의 다 알았다고 생각했는데 아직 자잘하게 모르는게 꽤 많네요. 답변 모두 감사합니다!!

댓글을 작성하려면 로그인해야 합니다.