
url 작성하려고 이것저것 많이 찾아보다 보면 'r'이라는 걸 보게 된다.
난 처음엔 생소해서 r이 붙어있으면 안 쓰려고 했다.. 익숙한 게 좋아서..
하지만 이번엔 써봤다 !!
python에서 'raw string'을 의미. 문자열 앞에 r을 붙이면, 해당 문자열 안에 있는 백슬래시()를 이스케이프 문자로 처리하지 않고 그대로 문자열로 인식하게 됨. 보통 경로를 작성하거나 정규 표현식을 사용할 때 많이 씀.
예를 들어보자 !
입력 내용
s = "C:\\Users\\UserName\\Documents"
print(s)
출력
C:\Users\UserName\Documents
문자열 안의 백슬래시()를 이스케이프 문자로 인식하기 때문에, 두 개를 넣어야 하나의 백슬래시가 출력됨 !!!
입력 내용
s = r"C:\Users\UserName\Documents"
print(s)
출력
C:\Users\UserName\Documents
r을 붙이면 백슬래시를 이스케이프 문자로 처리하지 않고 그대로 문자열로 인식하므로, 백슬래시를 두 번 사용할 필요가 없게 된다.
Django에서 url 패턴을 정의할 때, 정규 표현식을 사용하는 경우가 많다. 정규 표현식에서는 백슬래시가 자주 사용되므로 편하게 쓰기 위해서 r을 붙여 raw string으로 처리하는 경우가 많은 것 !!
하지만!! 반드시 r이 필요한 것이 아니므로 url 패턴에 복잡한 백슬래시나 특수 문자가 들어가지 않는 이상 굳이 사용하지 않아도 됨. 그냥 문자열로 쓰면 됨 !!
자기 필요에 따라, 프로젝트 url 패턴 특성에 따라 다르게 사용하면 될 것 같다.
근데 난 .. r 꽤 편했던 것 같다.
개발팅 🐱
멋져용 개발팅!