>  기사  >  백엔드 개발  >  python3.x에 대한 자세한 소개

python3.x에 대한 자세한 소개

零下一度
零下一度원래의
2017-06-27 09:22:152349검색

"Machine Learning in Action" 책은 Python 2 환경에서 작성되었습니다. 학습 과정에서 수정된 부분을 간략하게 기록해 보겠습니다

1. 인쇄 기능 뒤에 괄호를 추가해야 합니다(프로그램에 인쇄 기능이 나타나기 시작합니다). 목록 2-4)

2. Raw_input이 입력 함수로 변경되었습니다. 3.x에서는 입력을 사용합니다. (프로그램 목록 2-5)

3.reload(KNN)->import importlib

python2.7에서 키에 해당하는 첫 번째 요소를 찾습니다: firstStr = myTree.keys()[0]. 이는 python3.4에서 실행할 때 오류를 보고합니다: 'dict_keys' 객체는 인덱싱을 지원하지 않습니다. 이는 python3 때문입니다. dict .keys를 변경하면 iterable은 지원하지만 indexable은 지원하지 않는 dict_keys 객체를 반환합니다. 그런 다음 이 함수를 python3에서 다음과 같이 구현해야 합니다. 프로그램 목록 3-9

pickle 데이터를 유지하는 경우 바이너리 모드로 저장하고 읽으므로 파일에 쓸 때는

fw=open(filename,'w')---->fw=open(filename, 'wb')

피클 작성을 용이하게 하기 위해 바이너리 형식으로 파일을 엽니다

파일에서 데이터를 읽을 때 바이너리 모드에서도 읽어야 하며 다음과 같이 수정해야 합니다.

fr=open(filename)-- -->fr= open(filename,'rb')

6. 프로그램 목록 4-5에서

wordList=textParse(open('ch04/email/ham/%d.txt' % i ).read() )

이 문장은 실행 시 항상 코딩 오류를 보고합니다. 결과적으로 읽은 파일에 잘못된 문자가 있습니다. 해당 문자를 삭제하면 문제가 해결됩니다.

오류 코드는 다음과 같습니다.

UnicodeDecodeError: ' gbk' 코덱은 위치 199의 바이트 0xae를 디코딩할 수 없습니다: 잘못된 멀티바이트 시퀀스

trainingSet=range(50);

del(trainingSet[randIndex])

범위는 List를 반환할 수 없고 del 작업을 지원하지 않기 때문에, 런타임 오류 중 다음이 나타납니다.

TypeError: 'range' 개체는 항목 삭제를 지원하지 않습니다.

코드를 다음과 같이 수정할 수 있습니다:

trainingSet = list(range(50))

계속하려면...

위 내용은 python3.x에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.