파이썬에서 문자열은 '과 ", 두 가지의 기호를 감싸서 만들 수가 있는데 과연 이것의 차이점은 무엇일까?
결론부터 말하면 차이점은 없다. 내용은 파이썬 문서를 보면 알 수 있는데,
In plain English: String literals can be enclosed in matching single quotes (
') or double quotes (").
그냥 문자열을 만들 때는 single quotes나 double quotes나, 그냥 같은 것으로 묶으면 된다고 설명하고 있다. 그러니까 아무 신경 쓰지 말고 그냥 '만 쓰든 "로 묶는 모양이다. 시프트를 쓰지 않아도 되니 ‘만 쓰는 사람도 있다.
문자열의 시작이 '일 경우에는 Apostrophe, 구두점을 표현할 때 문제가 있다.
>>> print "I'll be back!!"
>>> print 'I\'ll be back!!'`
이 두 문장은 같은 문자열을 출력하지만 밑의 문장은 구두점 때문에 역슬래시가 포함된다. 그렇다면 문자열은… 구두점이 있을 수 있으니 다른 언어처럼 역시 "로 해야 하는건가? 싶지만 그게 또 아닌게, 이건 마찬가지로 문자열 안의 "로 감싼 문자열을 특수기호 없이 표현하지 못한다. 그렇다면 만능형 스트링, 우리가 아무 신경도 쓰지 않아도 되는 그런 것은 없단 말인가…
있기는 있다. 문자열 안에 '든 "든 상관없이 표현하는 방법이 있기는 있다. longstring, 세 개의 구두점을 사용한 스트링을 사용하면 된다.
>>> a = """I'll be back!!"""
>>> print a
I'll be back!!
>>> type(a)
<type 'str'>
>>> b = '''I'll be back!!'''
>>> print b
I'll be back!!
>>> type(b)
<type 'str'>
그래서 그냥 둘은 같으니 적당히 써도 되는데 일반적으로는 '를 많이 사용하는 것 같다.