对python3.x的详细介绍

机器学习实战这本书是在python2.x的环境下写的,而python3.x中好多函数和2.x中的名称或使用方法都不一样了,因此对原书中的内容需要校正,下面简单的记录一下学习过程中fix的部分

1、print 函数后面需要加括号(程序清单2-4开始出现print函数)

2、raw_input改为input函数,在3.x中python使用input替代了raw_input函数(程序清单2-5)

3、reload(KNN)->import importlib

                             importlib.reload(KNN)

立即学习“Python免费学习笔记(深入)”;

4、程序清单3-6中

    

在python2.7中,找到key所对应的第一个元素为:firstStr = myTree.keys()[0],这在python3.4中运行会报错:‘dict_keys‘ object does not support indexing,这是因为python3改变了dict.keys,返回的是dict_keys对象,支持iterable 但不支持indexable,我们可以将其明确的转化成list,则此项功能在python3中应这样实现:

firstSides = list(myTree.keys()) firstStr = firstSides[0]#找到输入的第一个元素

登录后复制

5、程序清单3-9

pickle对数据进行持久化的时候是采用二进制的方式进行存储和读取的,所以写入文件的时候将

fw=open(filename,’w’)—->fw=open(filename,’wb’)

将文件以二进制的形式打开,方便pickle的写入

从文件中读取数据的时候也要用二进制的方式读取做以下修改

fr=open(filename)—->fr=open(filename,’rb’)

 

 

6、程序清单4-5中

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

这一句在运行的时候老是报编码错误,结果是读取的文件中有乱码,删除乱码后问题解决

错误代码如下:

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 199: illegal multibyte sequence

 

trainingSet=range(50);

del(trainingSet[randIndex])

由于range不能返回List,不支持del操作,所以运行时出现以下错误:

TypeError: ‘range’ object doesn’t support item deletion

可以将代码修改为:

trainingSet = list(range(50));  

to be continued……

以上就是对python3.x的详细介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2269265.html

(0)
上一篇 2025年2月27日 11:07:32
下一篇 2025年2月18日 05:50:19

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 关于Python3.X线程中信号量的使用详解

    信号量semaphore 是一个变量,控制着对公共资源或者临界区的访问。信号量维护着一个计数器,指定可同时访问资源或者进入临界区的线程数。下面这篇文章主要给大家介绍了关于python3.x 线程中信号量的使用方法,需要的朋友可以参考借鉴,下…

    2025年2月27日
    200
  • 实例解析Python3.x对JSON的操作

    最近在学习python3,正巧遇到了一些json的操作,索性整理一下分享出来,下面这篇文章主要给大家介绍了关于python3.x对json的一些操作,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。 前言 本文主要给大家介绍了关于py…

    编程技术 2025年2月27日
    200
  • Python中并发future模块的介绍(代码)

    本篇文章给大家带来的内容是关于python中并发future模块的介绍(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 concurrent.futures模块 该模块主要特色在于ThreadPoolExecuto…

    编程技术 2025年2月27日
    200
  • 传授 每30秒学会一个Python小技巧

    很多学习python视频教程的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经有了很好的方法来解决。当然,孰能生巧,当我们代码熟练了,自然就能总结一些好用的技巧,不过对于那些还在刚熟悉python的同学可能并不…

    2025年2月26日
    200

发表回复

登录后才能评论