티스토리 뷰

반응형

오픈소스 코드들을 확인하면 Python2.x 를 사용하는 소스 들을 심심치않게 많이 확인할 수 있다.


2.x 버전 쓴다고 짜증나서 꺼버릴 때도 많지만 약간의 문법만 수정하면 대부분 사용할 수 있으니 다른 점들에 대해서 발견할 때 마다 수정하여 작성하고자 한다.



-  Bytes Object 의 등장


TypeError: a bytes-like object is required, not 'str'


필자는 이 Error로부터 이를 발견하였는데


Python 3.x 에는 2.x에서는 없었던 바이트 스트림 문자열 상수(리터럴)가 존재한다.


바이트 스트림 : b'happy'

스트링 : 'happy'


바이트 스트림은 .decode() 를 통해 문자열로 전환될 수 있고

스트링은 .encode()를 통해 바이트 스트림으로 전환될 수 있다.


예를들어 f.write 와 같은 함수는 인자로 바이트 스트림을 사용하므로,


str = 'happyworld'
f.write(str.encode())


이와 같은 과정이 필요하다.



-  print의 함수화


파이썬 3.x 에서는 print가 함수로 변경되었기 때문에

() 괄호를 반드시 써줘야 한다.


    # Python 2.x
    print 'hello version 2'
    # Python 3.x
    print('hello version 3')





출처 : http://egloos.zum.com/mcchae/v/11195891




반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함