본문 바로가기
program

Python 입문자의 오류 - '''와 줄 바꿈 문제

by 믹스 2020. 9. 12.

#2068

웹 크롤링을 따라 해보고 있는 중입니다.

문제

책에는 분명 다음과 같이 '''..url..'''로 표기되어 있었는데요.

url='''
https://example.com/~
'''

이것이 에러를 뿜어냅니다.

책과 코드를 몇 번을 비교하다 결국 저자의 github에서 답을 찾을 수 있었습니다. 표기상의 문제였던 거죠.

해결 1

해당 페이지의 예제를 확인하니 소스코드상에 '..url..'로 되어 있기에 표기를 고쳐서 수정하니.. 문제가 해결되었습니다.

url='https://example.com/~'

해결 2

혹시나 싶어 문제의 코드도 개행을 없애고 다시 실행해 보니 문제없이 해결되는 것을 확인할 수 있었습니다.

url='''https://example.com/~'''

줄 바꿈이 문제

처음에는 싱글 쿼터('')와 더블 쿼터("")의 문제점인가 싶기도 했지만 이 문제는 아니었고. 표기법의 차이인가 찾아봤지만 '''''의 표기 차이도 아니었고, 문제는 줄 바꿈이 었다는 결론인데요. 파이썬 자체보다는 크롤링에 관심이 생겨 따라 해 보는 과정이다 보니 문법적 차이에 대해선 잘 모르겠네요. 책에서 줄 바꿈을 한 것을 보면 이것도 틀린 것은 아닐 텐데 2.x와 3.x사이의 차이이려나..?

줄 바꿈의 오류 해결 방안

이리저리 찾아보니 다음과 같이 문장의 줄 바꿈시 에러가 나오지 않도록 하기 위해 각 줄마다 \n으로 이스케이프 시퀀스를 사용하여 줄이 바뀔 위치를 표시하거나, "를 3개 또는 '를 3개를 사용하여 SyntaxError를 피하는 것이 궁금했던 '''의 표기 방식이었습니다.

"""But men who hope to live forever 
might pause on their eternal journey 
to consider the frightening void at invincibility’s core."""

단지 책에서는 """ 앞뒤에 줄을 바꿔서 저를 헷갈리게 만든 거였던 것이죠...

궁금한 차원에서 다음과 같은 시도를 해 봤었습니다.

url='
https://example.com/~
'

이 경우 SyntaxError 에러가 나오게 됩니다만

url='''
https://example.com/~
'''

처음에 겪은 경우는 AttributeError에러가 나오는 거였습니다. 이 모든 것이 줄 바꿈을 하지 않으면 해결된다는 것을 처음에는 몰랐지요...
뭐, 하수가 겪는 흔한 문법적 실수라 생각되긴 합니다만 너무 착실하게 따라 하는 게 문제인가.. (-_-)

728x90
반응형

댓글