파이썬 전체 스택이 통과 --6- 약간의 지식을 요약

1 python2 자주 사용 마무리 python3 차이점

Python2 번호의 
인쇄 'ABC'
#이 목록의 반환
범위 ()
#이 값 생성기 반환 하지 목록. 당신은 단지 하나 개의 값을 만들 때마다, 임시로 사용에게 메모리를 많이 피
xrange () # 빌더
# 입력
raw_input을 (...)

#의 python3의
인쇄 ( 'ABC')가
#이 반환 반복자 값을 , 당신은 목록을 (사용해야 목록을 생성 할 필요가 레인지 (...))
레인지 ()
의 INPUT (...)


2 복사 == 비교 값 비교 어떤지, 메모리 어드레스 비교 ID (콘텐츠)이고

식 Li1에서 >>> = [1,2,3 ]
 >>> LI2 = 인 Li1에
 >>> (식 Li1의 ID (), ID (LI2)) 프링
 >>> 인쇄 (식 Li1의 ID (), ID (LI2))
 2,472,533,256,584 2,472,533,256,584 #의 존재 진수 문자열 풀, 동일한 메모리 어드레스를 사용하고, 소수 범위 풀 
#의 번호 256 ~ -5 
>>> = I1. 6 
>>> = I2. 6 
>>> 인쇄 (ID (I1), ID를 (I2))
 140,717,920,019,440 140,717,920,019,440 
>>> I1 = 300 
>>> 300 I2 = 
>>> 인쇄 (ID (I1), ID (I2))
 2472536947344 2472536947248 
>>> I1 = 256 
>>> 256 I2 = 
>>> 인쇄 (위에서 언급 한 ID (I1)
ID (I2)) 140717920027440 140717920027440 
>>>

 
>>> I2 = 257
>>> I1 = 257인쇄 (ID (I1), ID (I2))
 2472536947344 2472536947248 
>>> I1 = -5 
>>> I2 = -5 
>>> 인쇄 (ID (I1), ID (I2))
 140717920019088 140717920019088 
>>> I2 = -6 
>>> I1 = -6 
>>> 인쇄 (ID (I1), ID (I2))
 2472536947344 2472536947248

 

#의 문자열 : 1, 특수 문자를 사용할 수 없습니다 
#          , * 20 같은 주소 (S2)를, 21는 두 개의 주소 (후 * s의 1 이상이 리드의 서로 다른 버전의 변화로 추정된다 *, 시험 중에, 확인하십시오. ) 
>>> S1 = ' 121212asdasdasdadasdasdasdadadqrjladksfjaiodfu ' 
>>> S2 = ' 121212asdasdasdadasdasdasdadadqrjladksfjaiodfu ' 
>>> 인쇄 (ID (S1), ID (S2))
 2472537146064 2472537146064 
>>> S1 = ' 121212asdasdasdadasdasdasdadadqrjladksfjaiodfu를 @ ' 
>>> S2 = ' 121212asdasdasdadasdasdasdadadqrjladksfjaiodfu @ ' 
>>> 인쇄 (ID (S1),
ID (S2)) 2,472,537,146,160 2,472,537,146,064 #

목록 딕셔너리, 튜플 세트 
#의 리스트 
>>> L1 = 1 ,]
 >>> L2 = [1 ,]
 >>> 인쇄 (L1은 L2) 
거짓
 >>> 
>>> L2 = L1
 >>> 프린트 (L1은 입니다 L2) 
트루

 

3 문자 집합 인코딩

ASCII의 
A : 바이트의 8 비트 00000010

유니 A : 00000000 00000001 00000010 00000100 32 네 비트 바이트
0,000,000,000,000,001 0,000,001,000,000,110 32 네 바이트 :에서


UTF-8 A : 00100000 바이트의 8 비트
이다 : 00000001 0,000,001,000,000,110 24 세 바이트


을 GBK : 00000110 바이트의 8 비트
중 : 0,000,001,000,000,110 개의 16- 비트 바이트
다양한 치화간에 서로를 인식 할 수있다 (1),이를 왜곡 될 것이다.
(2), 파일 저장, 전송, 유니 코드 (단 UTF-8, UTF-16 GBK 아니다 GB2312, asciid 등)



Py3 :
STR 메모리에 유니 코드이다.
바이트를 입력
영어 :
STR : 표현 : S = '맥주'
인코딩 : 유니 코드
바이트 : 식 : S = b'beer '
인코딩 : UTF-8 GBK를. . . .

중국어의 경우 :
STR : 식 : S = '슝'
인코딩은 유니 코드는
바이트 : 식 : S = B를 '\ xe9 \ x9b \ X84 \ xe5 \ XA4 \ xa7'
인코딩 : UTF-8을 GBK. . . .

>>>의 S = ' 맥주 ' 
>>> S1 = B ' 맥주 ' 
>>> 프린트 (S, 입력 (들)) 
맥주 < 클래스  ' STR ' > 
>>> 인쇄 (S1 입력 (S1)) 
, B ' 맥주 ' < 클래스  ' 바이트 ' > 
>>> 
>>> 
>>>의 S = ' 雄의大' 
>>> 프린트 (S, 입력 (들) 
      ) 
雄大 < 클래스  'str ' > 
>>> s1 = b ' 웅대' 
구문 에러는 : 바이트는 ASCII 문자 문자를 포함 할 수 있습니다. 
>>> 
>>> 
>>> S1 = s.encode ( " UTF-8 " )
 >>> 인쇄 (S1) 
B ' \는 xe9 \ x9b \ X84 \ xe5 \ XA4 \ xa7 ' 
>>> S1가 S. 인코딩 ( ' GBK ' )
 >>> 인쇄 (S1) 
B ' \ XD0 \ XDB \ XB4 xf3 \ '

 

추천

출처www.cnblogs.com/zxw-xxcsl/p/11577576.html