Python3.x与Python2.x的差异用法
1,关于urllib2区别:
# python2 import urllib2 # python3 # 用urllib.request代替urllib2 import urllib.request
2,关于URLError输出用法区别:
# python2 urllib2.URLError, e: # python3 urllib.request.URLError as e:
3,关于print用法区别:
# python2 print 'hello world' # python2 print('hello world')
4,关于aw_input和input区别:
# python2 #有raw_input和input # python3 #将raw_input和input进行了整合,只有input
5,关于设置setdefaultencoding区别:
# python2 reload(sys) sys.setdefaultencoding("utf-8") # python3 #python3字符串默认编码unicode, 所以sys.setdefaultencoding也不存在,不然会报错:AttributeError: module 'sys' has no attribute 'setdefaultencoding' #python3.3(低于3.3版本): import imp imp.reload(sys) #python3.4(高于3.4版本): import importlib importlib.reload(sys)
6,关于urlretrieve()的区别:
# python2 #直接将远程数据下载到本地。 urllib.urlretrieve(url[, filename[, reporthook[, data]]]) 参数说明: url:外部或者本地url filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据); reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。 data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。 # python3 urllib.request.urlretrieve() #例子: urllib.request.urlretrieve(imgurl,'d:\%s.jpg'% x)
7,关于range()和xrange()区别:
# python2 #有range()和xrange()两个 for x in xrange(1,10,2): if x==5: continue print(x) for x in range(1,10,2): if x==5: continue print(x) # python3 #将range()、xrange()两个合并为range() for x in range(1,10,2): if x==5: continue print(x)
注意:Python3.x中将range()和xrang()合并为rang();
8,关于zip()函数的区别:
#python2 #zip()用法 x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print(xyz ) u = zip(*xyz) print(u) #python3 #zip()用法 x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = list(zip(x, y, z)) print(xyz ) u = list(zip(*xyz)) print(u)
9,关于字Unicode字符串区别:
#python2 #Unicode字符串 u'PapayaWhip' #Unicode原始字符串(使用这种字符串,python不会自动转义反斜线"")也被替换为普通的字符串 ur'PapayaWhipfoo' #python3 #python2中的Unicode字符串在python3即为普通字符串 'PapayaWhip' #python3里,所有原始字符串都是以unicode编码的 r'PapayWhipfoo'
10,关于BeautifulSoup()中参数名称(fromEncoding)区别:
# python2 BeautifulSoup(start_html.content, "html.parser", fromEncoding="gb18030") #python3 BeautifulSoup(start_html.content, "html.parser", from_encoding="gb18030")
11,关于ConfigParser模块的用法:
#python2 import ConfigParser #python3 import configparser
关于python版本差异可以参考:https://www.cnblogs.com/weikunzz/p/6857971.html