Python 2 와 Python 3 버 전과 인 코딩 의 대비

버 전 비교
우선,Python 버 전 은 현재 주로 두 가지 로 나 뉜 다.
Python 2.x 버 전 은 Python 2 라 고 불 린 다.예 를 들 어 Python 2.7.3 이다.
Python 3.x 버 전 은 Python 3 이 라 고 불 린 다.예 를 들 어 Python 3.1 이다.장기 적 으로 보면 앞으로 의 추세 라 고 할 수 있다.
[파 이 썬 2 와 파 이 썬 3 의 차이 점]
1.Python 2 부터 Python 3 까지 많은 기본 함수 인터페이스 가 바 뀌 었 습 니 다.심지어 일부 라 이브 러 리 나 함수 가 제거 되 어 이름 이 바 뀌 었 습 니 다.
     Python 2 와 Python 3 는 많은 기본 적 이 고 가장 자주 사용 하 는 함수 에 있어 인터페이스 가 모두 변 했 습 니 다.가장 전형 적 인 것 은 여러분 이 가장 자주 사용 하 는 print 함수 입 니 다.
2.제3자 라 이브 러 리 의 지원 에 있어 서 현재 로 서 는 Python 2 가 가장 좋 고 Python 3 가 지원 하 는 것 이 부족 합 니 다.
     Python 이 강 한 이유 중 하 나 는 제3자 의 라 이브 러 리 가 많 고 기능 이 강하 기 때문이다.
     현재 많은 Python 의 제3자 라 이브 러 리 는 Python 2 만 제공 하고 있 습 니 다.
     혹은 파 이 썬 3 를 제공 했다 고 해서 성숙 한 것 은 아니다.
2.인 코딩 대비
Python 에서 Python 2 든 Python 3 이 든 전체적으로 말 하면 문 자 는 두 가지 종류 만 있 습 니 다.
  • 통용 되 는 유 니 코드 문자;
  • (유 니 코드 가 인 코딩 된 후의)특정한 인 코딩 형식의 문자,예 를 들 어 UTF-8,GBK 등 유형의 문자.
  • Python 2 의 문자 형식:
  • str:인 코딩 된 바이트 시퀀스
  • 유 니 코드:인 코딩 전 텍스트 문자
  • Python 3 의 문자 형식:
  • str:인 코딩 된 유 니 버 설 텍스트 문자
  • bytes:인 코딩 전의 바이트 시퀀스
  • 우 리 는 문자열 이 두 가지 상태,즉 텍스트 상태 와 바이트(바 이 너 리)상태 라 고 볼 수 있다.Python 2 와 Python 3 의 두 문자 유형 은 각각 이 두 가지 상태 에 대응 한 다음 에 서로 디 코딩 전환 을 한다.인 코딩 은 문자열 을 바이트 코드 로 변환 하여 문자열 의 내부 표시 와 관련 된 것 입 니 다.디 코딩 은 바이트 코드 를 문자열 로 변환 하여 비트 위 치 를 문자 로 표시 하 는 것 입 니 다.
    Python 2 에 서 는 str 와 유 니 코드 에 모두 encode 와 decode 방법 이 있 습 니 다.그러나 str 에 encode 를 사용 하 는 것 을 권장 하지 않 습 니 다.유 니 코드 에 decode 를 사용 하 는 것 은 Python 2 디자인 의 결함 입 니 다.Python 3 은 최적화 되 었 습 니 다.str 는 하나의 encode 방법 으로 문자열 을 하나의 바이트 코드 로 바 꾸 었 고 bytes 도 하나의 decode 방법 으로 바이트 코드 를 하나의 텍스트 문자열 로 바 꾸 었 습 니 다.
    Python 2 의 str 와 유 니 코드 는 모두 basestring 의 하위 클래스 이기 때문에 두 가 지 는 직접 연결 작업 을 할 수 있 습 니 다.한편,Python 3 의 bytes 와 str 는 두 개의 독립 된 유형 으로 이들 은 연결 할 수 없다.
    Python 2 에서 보통 따옴표 로 묶 은 문 자 는 str 입 니 다.이 문자열 의 인 코딩 형식 은 Python 파일 자체 에 어떤 인 코딩 을 저장 하 는 지 에 대응 합 니 다.가장 흔히 볼 수 있 는 Windows 플랫폼 에서 기본 값 은 GBK 입 니 다.Python 3 에서 작은 따옴표 나 작은 따옴표 로 묶 인 문자열 은 유 니 코드 형식의 str 입 니 다.
    str 가 왜 인 코딩 을 하 는 지 에 대해 전제 가 있 습 니 다.
  • Python 파일 이 대응 하 는 인 코딩 을 선언 하기 시 작 했 습 니 다
  • Python 파일 자체 가 이 인 코딩 으로 저 장 된 것 이 확실 합 니 다
  • 이들 의 인 코딩 유형 은 똑 같 아야 한다(예 를 들 어 모두 UTF-8 또는 모두 GBK 등)
  • 이렇게 해야만 Python 해상도 기 는 텍스트 를 인 코딩 된 str 로 정확하게 해석 할 수 있 습 니 다.
    전체적으로 보면 Python 3 에서 문자 인 코딩 문 제 는 크게 최적화 되 었 고 Python 2 처럼 머리 가 아 프 지 않 습 니 다.Python 3 에서 텍스트 는 항상 유 니 코드 로 str 형식 으로 표시 되 고 바 이 너 리 데 이 터 는 bytes 로 표시 되 며 str 와 bytes 를 몰래 섞 지 않 아 차이 가 더욱 뚜렷 합 니 다.
    총결산
    이상 은 이 글 의 모든 내용 입 니 다.본 논문 의 내용 이 여러분 에 게 python 을 배우 거나 사용 하 는 데 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기