重新学习Python(3.6)笔记

来源:互联网 发布:网络用语 胡萝卜 编辑:程序博客网 时间:2024/06/11 00:02

1、print在Python2.X的版本里面后面不需要加括号,在3.6里面需要加括号才能打印输出;

2、直接使用data.write(u.read())时出现这样的错误“write() argument must be str, not bytes”,需要设置解码方式:
data=u.read()
data = data.decode('utf-8') 
localf.write(data)
先说一下python中的字符串类型,在python中有两种字符串类型,分别是str和unicode,他们都是basestring的派生类;str类型是一个包含Characters represent (at least) 8-bit bytes的序列;unicode的每个unit是一个unicode obj;所以:
len(u'中国')的值是2;len('ab')的值也是2;
在str的文档中有这样的一句话:The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file. 也就是说在读取一个文件的内容,或者从网络上读取到内容时,保持的对象为str类型;如果想把一个str转换成特定编码类型,需要把str转为Unicode,然后从unicode转为特定的编码类型如:utf-8、gb2312等;
3、Urllib库的基本使用
百度一搜索大多是用来爬虫扒网页的,我用到它的目的是在网页上下载一个数据集即“iris.csv”;
首先我的Python版本是3.6的,库下面只有Lib\urllib,而没有老版本里面的urllib2,
代替import urllib2 为 import urllib.request
代替urllib.urlopen(url) 为 urllib.request.urlopen(url)
即可。
4、np_utils的使用
keras要求的label格式应该为binary class matrices,所以,需要对输入的label数据进行转化,需要利用keras提高的to_categorical函数
导入头文件的格式为:from keras.utils import np_utils
当格式为  train_LBL=np_utils.to_categorical(train_lbl,nb_classes=10)
提示如下的错误:
 
改为  train_LBL=np_utils.to_categorical(train_lbl,10)
问题解决。
原创粉丝点击